一种语法
UNIQUE(username, email)
假设列的组合必须是唯一的。
可以添加多个单独的UNIQUE约束,以对每个列强制执行唯一条件。您使用的语法允许使用多个语句:
CREATE TABLE User (
id int,
username nvarchar(20),
email nvarchar(20),
PRIMARY KEY (id),
UNIQUE(username),
UNIQUE(email)
);
INSERT INTO User (id, username, email)
VALUES
(1, 'aaron', 'aaron-email'),
(2, 'aaron', 'aaron-email-2'),
(3, 'bob', 'bob-email'),
(4, 'bob', 'aaron-email')
;
Duplicate entry 'aaron' for key 'User.username'
示例:
https://dbfiddle.uk/07o7fr-C
附言:同样的结果也可以通过另一种(更简单的)语法来实现,方法是添加
UNIQUE
列本身的限定符,例如:
CREATE TABLE User (
id int,
username nvarchar(20) UNIQUE,
email nvarchar(20) UNIQUE,
PRIMARY KEY (id)
);