【发布时间】:2018-11-19 18:27:37
【问题描述】:
我有一张表说employee employee 表有几个字段,例如
`salary`
`name`
`age`
`designation`
其中只有designation 可以为空。我不能将其设为 NOT NULL,因为现有代码正在使用它。
是否可以为上述所有列创建组合唯一约束?
当我尝试创建新的唯一约束时。
ALTER TABLE `employee` ADD CONSTRAINT `employee_constraint`
UNIQUE key (`salary`,`name`, `age`, `designation`);
它成功创建了约束,但是当我尝试插入这些记录的重复组合时,它插入成功。有没有更好的方法来创建约束并丢弃这些列的重复组合?
【问题讨论】:
-
它插入完全相同的组合说 (1000, 'xyz', 10, NULL) 两次
-
@baao 这仅显示正在发生的事情,但没有任何解决方法
-
对,改成相关,撤回投票@lad2025
-
非常感谢您回答这个问题。但这是针对 MySQL 5.7 版的。但是我们可以为 5.6 版做到这一点吗?如果没有,还能做什么?
标签: mysql sql database unique-key