2

我有一张桌子

table userinfo (
     user,
     email,
     address,
     primary key(user)
);

在此表中,“用户”字段与插入时的“电子邮件”相同。但是用户可以稍后更改他们的“电子邮件”。所以我希望电子邮件也是唯一的,如果表中已经存在电子邮件,则插入查询失败。

可能吗?

在此先感谢,这只是一个例子。

4

2 回答 2

4

是的,添加一个UNIQUE约束

table userinfo (
     user,
     email,
     address,
     primary key(user),
     CONSTRAINT tb_uq UNIQUE (email)
);

该表现在将具有 uniqueUSER和 unique Email

于 2012-12-13T02:03:20.733 回答
2

您可以在一个表上创建多个索引。因此,如果您仅在所需的列上创建 2 个唯一索引,它将按照您的意愿工作。如果您在多个列上创建 1 个索引,则这些列的组合需要是唯一的。

于 2012-12-13T02:03:54.403 回答