欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql多個列唯一約束

林雅南2年前11瀏覽0評論

在 MySQL 數據庫中,我們有時候需要讓多列的值組合在一起唯一。這時候,我們就需要使用多個列的唯一約束了。

我們可以通過在創建表時使用 UNIQUE 關鍵字來為某些列創建唯一約束。

CREATE TABLE students (
id INT,
name VARCHAR(50),
age INT,
UNIQUE (name, age)
);

如上述代碼所示,我們為學生表創建了一個唯一約束,該約束由 “name” 和 “age” 兩個列的值組合而成。這就保證了在該表中,每個學生的姓名和年齡的組合都是唯一的。

在插入數據時,如果有重復的組合出現,數據庫會拋出錯誤:

INSERT INTO students (id, name, age)
VALUES
(1, 'John', 18),
(2, 'Jane', 18),
(3, 'John', 18);

第三個插入語句就會因為重復的組合而失敗。

需要注意的是,唯一約束只會對每組值進行比較,若其中某個值不同,則不會拋出錯誤。

INSERT INTO students (id, name, age)
VALUES
(1, 'John', 18),
(2, 'Jane', 18),
(3, 'John', 19);

以上代碼中,第三個插入語句雖然與第一個有相同的 “name”,但因為 “age” 不同,所以不會拋出錯誤。

總之,多個列的唯一約束可以有效地保證數據的唯一性,避免重復數據的出現。