SQLでidの最大をとる方法

掲示板などで、よく使うこと
INSERT文で現在のテーブルの最大値を取ってくる方法

1.SELECT MAX(id) as id FROM テーブル名

2.SELECT id as id FROM テーブル名 order by desc limit 1

MAXを使った場合レコードが1件も無い場合はNULLになる。
NULLが帰ってきた場合に0を戻したいならばINSERT文を

SELECT coalesce(MAX(id),0)+1 as id FROM テーブル名

のようにする