【发布时间】:2020-10-15 14:34:49
【问题描述】:
正如标题所说,我在将此查询插入 MySQL 命令行客户端时遇到以下错误
查询
ALTER TABLE 医师添加唯一(ssn);
错误代码
ERROR 1062 (23000): Duplicate entry '' for key 'physician.ssn'
我不知道为什么要提取重复条目错误,因为这不应该是重复条目。任何帮助表示赞赏。
【问题讨论】:
标签: mysql constraints unique
正如标题所说,我在将此查询插入 MySQL 命令行客户端时遇到以下错误
查询
ALTER TABLE 医师添加唯一(ssn);
错误代码
ERROR 1062 (23000): Duplicate entry '' for key 'physician.ssn'
我不知道为什么要提取重复条目错误,因为这不应该是重复条目。任何帮助表示赞赏。
【问题讨论】:
标签: mysql constraints unique
它告诉你的是它不能添加这个唯一的约束。原因是在医生表中,已经存在具有相同 SSN 值的条目。您可以删除那些重复的记录,然后运行您的 ALTER 语句。
【讨论】:
唯一约束将只允许该列的唯一值。由于您已经有很多行为 NULL,因此 MySQL 将不允许您添加约束。
你有两个选择:
语法是:
CREATE UNIQUE INDEX physician_ssn_idx ON physician(ssn);
physician_ssn_idx 将是新创建的索引的名称,可以是您想要的任何名称。如果您一直在使用命名方案创建索引/键,您可能希望采用它。归根结底,索引的名称根本不会影响功能,您不需要知道它们就可以使用它们。
【讨论】: