エントリー

SQLite3でオートインクリメント

細かい部分でつまづきつつ、PHP Labo のプログラムを書き換え中。

SQLite2でオートインクリメントな列を作りたい場合、テーブル作成時に

no INTEGER UNSIGNED NOT NULL PRIMARY KEY

としていたのだけど、SQLite3ではデータの挿入ができませんでした…。

address.no may not be NULL

とか言われてしまいます。(address はテーブル名。)色々試したところ、

no INTEGER PRIMARY KEY

ならSQLite2でもSQLite3でも大丈夫だった。調べてみると、NOT NULL を指定しているとバージョンによって微妙に挙動が異なるらしい。うーむ。

ちなみにSQLite3からは AUTOINCREMENT というキーワードが追加されているらしいけど、SQLite2では動作しないので上の方法で行くとします。

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

2012年02月

- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 - - -

カテゴリー

キーワード検索

キーワード検索フォーム
キーワード

Feed

利用ツール