小编典典

唯一-在表中具有唯一行的方式?

sql

我对数据库表中的唯一行有问题,现在可以这样做:

id  | Name  | LastName  | City
-------------------------------------
1   | John  | Moore     | London
2   | John  | Moore     | London

当我在所有列中使用UNIQUE属性时,即使第二个Moore名称不同,我也会插入第二个Moore错误:/

如何使用UNIQUE(或INDEX?)在db表中执行类似的操作:

id  | Name  | LastName  | City
-------------------------------------
1   | John  | Moore     | London
2   | Jake  | Moore     | London
3   | John  | Keen      | London
4   | John  | Moore     | London //but good error when inserting the same row

抱歉,如果问题很简单,但是我是sql的初学者,并且在使用UNIQUE之类的UNIQUE时找到一些好的示例时遇到问题:/或者也许我必须在插入新行之前从db中选择一个表并检查其是否存在?


阅读 240

收藏
2021-04-28

共1个答案

小编典典

删除单个列上的唯一索引,然后将其同时放在两个列上,如下所示:

CREATE UNIQUE INDEX ixFullName ON yourTable (LastName, Name);
2021-04-28