MySQL中的unique是指數(shù)據(jù)庫表中的一個(gè)列或者多個(gè)列設(shè)置為唯一值,也就是說該列中的所有值都是唯一的。這種設(shè)置對(duì)于防止數(shù)據(jù)重復(fù)或沖突非常有幫助。
在MySQL中,可以在創(chuàng)建表的時(shí)候使用如下的語法來設(shè)置唯一值:
CREATE TABLE myTable ( id INT NOT NULL, name VARCHAR(30) NOT NULL, email VARCHAR(50) UNIQUE, PRIMARY KEY (id) );
在上面的例子中,email列是唯一的,也就是說不能存在兩條記錄擁有相同的email值。如果插入一條記錄時(shí)違反了該約束,MySQL會(huì)報(bào)錯(cuò)。
除了在創(chuàng)建表的時(shí)候設(shè)置唯一值之外,也可以通過ALTER TABLE語句來為已存在的表添加唯一值:
ALTER TABLE myTable ADD UNIQUE (email);
也可以在創(chuàng)建表的時(shí)候,為多個(gè)列設(shè)置唯一值,以防止多列的組合出現(xiàn)重復(fù)值:
CREATE TABLE myTable ( id INT NOT NULL, name VARCHAR(30) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (name, email), PRIMARY KEY (id) );
在上面的例子中,name和email兩列的組合必須是唯一的,這樣可以避免出現(xiàn)重名用戶的情況。