2009年1月アーカイブ
2009年1月28日
SQLite 3 の AUTOINCREMENT
SQLite 3 でオートインクリメントなカラムを作りたかったら、
CREATE TABLE my_diary (
diary_id INTEGER PRIMARY KEY,
subject TEXT,
body TEXT,
create_dt TEXT
);
と主キーを INTEGER にしてテーブルを作れば、そのカラムは自動的にオートインクリメントになる、というのは今や常識的。
主キーにしたくない場合は INSERT INTO my_diary VALUES((SELECT max(diary_id) FROM my_diary) + 1, 'タイトル', '本文', '2009-01-29'); などと更新時の SQL 文を工夫するとか。
ただ AUTOINCREMENT というキーワードもあって、"PRIMARY KEY" の後ろにこれを付けるか付けないかで振る舞いが違ってくる。
続きを読む: SQLite 3 の AUTOINCREMENT