唯一约束(UNIQUE_KEY)
唯一約束可以保證記錄的唯一性
唯一約束的字段可以為空值(NULL)
每張數據表可以存在多個唯一約束(主鍵只有一個)
mysql> CREATE TABLE tb7(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL UNIQUE KEY,
-> age TINYINT UNSIGNED
-> );
Query OK, 0 rows affected (0.11 sec)
mysql> SHOW COLUMNS FROM tb7;
+----------+----------------------+------+-----+---------+----------------+
| Field ? ? ? ? | Type ? ? ? ? ? ? ? ? ? ? ? | Null ? ?| Key ?| Default ?| Extra ? ? ? ? ? ? ? |
+----------+----------------------+------+-----+---------+----------------+
| id ? ? ? ? ? ? | smallint(5) unsigned | NO ? ? | PRI ?| NULL ? ? ?| auto_increment|
| username ?| varchar(20) ? ? ? ? ? ? | NO ? ? | UNI ?| NULL ? ? | ? ? ? ? ? ? ? ? ? ? ? ?|
| age ? ? ? ? ? | tinyint(3) unsigned ? | YES ? | ? ? ? ?| NULL ? ? | ? ? ? ? ? ? ? ? ? ? ? ?|
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.04 sec)
id是自動編號的字段,所以不用賦值。
mysql> INSERT tb7(username,age) VALUES('Tom',22);
Query OK, 1 row affected (0.06 sec)
username是唯一約束,存在Tom,再賦值就會出錯。
mysql> INSERT tb7(username,age) VALUES('Tom',22);
ERROR 1062 (23000): Duplicate entry 'Tom' for key 'username'
?
轉載于:https://www.cnblogs.com/toudoubao/p/6596617.html
總結
以上是生活随笔為你收集整理的唯一约束(UNIQUE_KEY)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到有人追是什么意思
- 下一篇: 知天命