[pgsql-jp: 30263] SQLのMAX関数について
Masato Tanaka
pgsql @ e-linez.com
2003年 6月 29日 (日) 15:41:13 JST
こんにちは。田中と申します。
早速質問させてください。
以下のようなテーブルがあったとします。
[table]
id | value
-----------
1 | abc
2 | def
新規レコードの登録時に、(idのMAX値+1)を割り当てを1文のSQLで
行いたいと思い以下のようなSQLを発行しました。
INSERT INTO table VALUES(SELECT MAX(id)+1 FROM talbe);
UPDATE table SET value='efg' WHERE id=(SELECT MAX(id) FROM table);
これで、うまくいったかと思ったのですが、レコードがないときに
MAX(id)の値が0にならずNULL?になるためエラーにってしまいます。
説明不足でしたらすみません。
なにか良い方法をご存知でしたらご教授いただけると嬉しいです。
田中正人
pgsql-jp メーリングリストの案内