4

我有一张或多或少看起来像的桌子

Name | Lastname | ID | Date 

有没有办法阻止数据库运行插入函数,如果一个人Name已经存在Lastname并且ID没有运行额外的查询来搜索他?

4

1 回答 1

13

UNIQUE在列上添加约束,

ALTER TABLE TableName ADD CONSTRAINT tb_uq UNIQUE (ID, LastName)

一旦它被实现,如果你尝试插入一个 ID 和 LastName 已经存在的值,它会抛出一个异常。例子

INSERT INTO tableName (ID, LASTNAME) VALUES (1, 'hello') // ok
INSERT INTO tableName (ID, LASTNAME) VALUES (2, 'hello') // ok
INSERT INTO tableName (ID, LASTNAME) VALUES (1, 'hello') // failed
于 2013-04-02T12:44:17.290 回答