MariaDB AUTO_INCREMENT定義

Pocket

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が反映されていました。

AUTO_INCREMENT FIRST
AUTO_INCREMENT FIRST

このTABLE1テーブルはrenbanというカラムが一つだけあるのでレコードの追加(インサート)する場合下記のように省略されたインサート文が書けます。

INSERT INTO TABLE1 VALUES()

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA