MySQL学習ノートの一意の制約

981 ワード

-一意制約制約修飾フィールドの値を繰り返すことはできません
create table user5(
	id int,
	name varchar(20)
);
alter table user5 add unique(name);
desc user5;

テーブル構造nameはUNIkeyであり、nameが重複を許さないことを示します.
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
create table user6(
	id int,
	name varchar(20),
	unique(id,name)		//      ,       ,       
);	

–一意の制約を削除する方法
alter table user5 drop index name;

-modify一意制約の追加(テーブル構造の変更)
alter table user5 modify name varchar(20) unique;

-まとめ1、テーブル作成時に制約2、alter...add...3、alter...modifyフィールド...4、alter table table_を削除name drop …