MySQLでPRIMARY KEYを作る – AUTO_INCREMENT

説明

備忘録的なものとして書きます。実装は参考ページのコピペですが。

DBを設計するときには、ユニークな一意なデータであることを証明するためのカラムを作らなければなりません。つまりプライマリーキーです。MySQLではテーブルを作るときにPRIMARY KEY (id)と入力すれば、そのカラムはプライマリーキーになり、カラムの値は絶対に被ったりしなくなります。更にAUTO_INCREMENTを指定することにより(下記のテーブル設計の場合)idカラムを指定せずにデータをインサートした場合は自動的にintがインクリメントされていく仕様にすることができます

実装

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
);
//if you want showCOLUMNS
//SHOW COLUMNS FROM table_name

INSERT INTO animals (name) VALUES
    ('dog'),('cat'),('penguin'),
    ('lax'),('whale'),('ostrich');

SELECT * FROM animals;
+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+

試しにプライマリーキーを被らせてみる

ちゃんとエラーになる

insert into animals
(
name, 
id
) 
values
(
"cacat",
2
);

ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY'

参考

AUTO_INCREMENT の使用

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事