MariaDBは、テーブルのカラム内に自動連番(インクリメント)をもたせることができます。自動連番を使うことでLOGなどのデータをユニークなレコードとして扱うこともできるようになります。下のようなシンプルな構成TABLE1テーブルがあります。
CREATE TABLE TABLE1 ( renban INTEGER )
このTABLE1を自動連番対応にするには、下記のような記述をすれば可能です。
CREATE TABLE TABLE1 ( renban INTEGER NOT NULL AUTO_INCREMENT, UNIQUE KEY renban (renban) )
TABLE1テーブルのrenbanカラムにAUTO_INCREMENTを設定できます。renbanカラムには「UNIQUE KEY」を設定しています。「PRIMARY KEY」主キーの場合は下記のような記述になります。
CREATE TABLE TABLE1 ( renban INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (renban) )
このTABLE1テーブルのrenbanカラムがユニークになっていない場合下記のようなメッセージが表示されます。
Incorrect table definition; there can be only one auto column and it must be defined as a key
自動連番(AUTO_INCREMENT)はテーブル設定した後に設定することもできます
CREATE TABLE TABLE1 ( renban INTEGER ); ALTER TABLE TABLE1 CHANGE COLUMN renban renban INTEGER NULL AUTO_INCREMENT FIRST, ADD UNIQUE INDEX renban (renban);
「SHOW CREATE TABLE TABLE1」コマンドでテーブル内の変更した内容を確認すると下記のようにALTER TABLEが反映されていました。
このTABLE1テーブルはrenbanというカラムが一つだけあるのでレコードの追加(インサート)する場合下記のように省略されたインサート文が書けます。
INSERT INTO TABLE1 VALUES()