テーブル作成 レッスン5
自動採番
AUTOINCREMENT・SERIALによるIDの自動生成
SQLiteの自動採番
SQLiteでは INTEGER PRIMARY KEY を指定すると、 rowid の別名となり自動的に連番が割り当てられます。AUTOINCREMENT キーワードを追加すると、 削除された番号を再利用しない厳密な自動採番になります。
INTEGER PRIMARY KEY— rowid の別名、自動で連番INTEGER PRIMARY KEY AUTOINCREMENT— 単調増加を保証last_insert_rowid()— 最後に挿入したIDを取得
例1: INTEGER PRIMARY KEYの自動採番
SQLエディタ
AUTOINCREMENTと単純なINTEGER PRIMARY KEYの違い
INTEGER PRIMARY KEY だけでは、 行を削除すると削除した番号が再利用される可能性があります。AUTOINCREMENT を付けると、 過去に使用した最大値よりも常に大きい値が割り当てられるため、IDの再利用が防がれます。 ほとんどのケースでは AUTOINCREMENT なしで十分です。
例2: last_insert_rowid()で挿入IDを取得
SQLエディタ
例3: AUTOINCREMENTで単調増加を保証
SQLエディタ