我有一张或多或少看起来像的桌子
Name | Lastname | ID | Date
有没有办法阻止数据库运行插入函数,如果一个人Name
已经存在Lastname
并且ID
没有运行额外的查询来搜索他?
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