我需要有一个数据库表,该表的列为null或唯一值。我知道我可以在代码中控制这一点,但是有什么方法可以通过索引作为备份来实现呢?或者这仅仅是一个糟糕的DB设计?:)例如,我不想要求一个电子邮件地址,但如果他们确实输入了一个,我不想允许重复。很容易检查我的代码,但我想配置Mysql来执行它。如果规则被违反,可能是一个返回错误的触发器?
发布于 2016-03-17 17:17:19
对于所有引擎,唯一索引允许可包含空的列的多个空值。
http://dev.mysql.com/doc/refman/5.7/en/create-index.html
它很容易测试,只需尝试在虚拟表中插入多个空值。
https://dba.stackexchange.com/questions/132518
复制相似问题