在mysql中,唯一約束可以幫助我們確保表中某些列的數(shù)值是唯一的,避免數(shù)據(jù)的冗余和錯誤。下面我們就來看一下如何設(shè)置mysql的唯一約束。
首先,我們需要定義一個需要唯一約束的列,比如我們已經(jīng)有一個students表,其中包含學(xué)生的ID、姓名和年齡三個字段。如果我們想讓學(xué)生ID是唯一的,那么我們需要在創(chuàng)建students表的時候加入唯一約束。具體代碼如下:
CREATE TABLE students ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT NOT NULL, PRIMARY KEY (id), UNIQUE KEY uq_stu_id (id) );
上面的代碼中,UNIQUE KEY uq_stu_id (id)表示我們要為id這一列添加唯一約束,uq_stu_id是約束的名字(可自定義)。值得注意的是,唯一約束不允許為空,所以我們需要將其設(shè)為NOT NULL。
如果我們已經(jīng)創(chuàng)建完students表,但是忘記添加唯一約束,那么我們也可以通過ALTER TABLE命令來為該表添加唯一約束,具體代碼如下:
ALTER TABLE students ADD CONSTRAINT uq_stu_id UNIQUE (id);
上面的代碼表示我們要為students表添加一個約束名為uq_stu_id的唯一約束,作用于id這一列,其余的語法與之前相同。
最后,如果我們想查看某個表中所有的唯一約束,可以使用如下代碼:
SHOW CREATE TABLE students;
該命令會輸出students表的創(chuàng)建語句,其中包含所有的約束信息,包括唯一約束。