在MySQL中,可以使用唯一約束來確保一張表中特定的列不會出現重復值。可以將唯一約束設置在一個或多個列上,以確保這些列中的數據不會出現相同值,從而滿足一定的數據完整性要求。
當一個列被定義為唯一約束時,在每次添加或修改數據時,MySQL都會驗證該列的值是否已經存在,如果已經存在就會報錯,防止數據沖突。
在創建表時,可以通過在列定義語句中使用UNIQUE
關鍵字來為該列添加唯一約束。
CREATE TABLE my_table ( id INT(11) NOT NULL, name VARCHAR(50) NOT NULL UNIQUE, age INT(3) NOT NULL );
在上面的例子中,為name
列添加了唯一約束。
如果需要為多個列添加唯一約束,可以使用UNIQUE
關鍵字加括號形式如下:
CREATE TABLE my_table ( id INT(11) NOT NULL, name VARCHAR(50) NOT NULL, age INT(3) NOT NULL, UNIQUE (name, age) );
在上面的例子中,為name
和age
兩列添加了唯一約束。
查詢表中已經添加了唯一約束的列可以使用 MySQL 的SHOW INDEXES
命令。
SHOW INDEXES FROM my_table WHERE Non_unique = 0;
執行以上查詢語句可以列出my_table
表中所有唯一約束的列。