我在更新MySQL数据库时遇到错误。错误是Can't write; duplicate key in table 'XXX'
。
我为删除错误所做的是根据所涉及的表名重命名外键。我不知道为什么会奏效。在MySQL中命名外键时是否遵循某些命名约定?
答案 0 :(得分:0)
在命名外键时,没有这样的硬编码命名约定。但是大多数情况下,最好将其命名为FK_XXXXXXXXXX。
就您的错误而言,您的表似乎在列上具有唯一/主键约束,这限制了您在该列中插入重复值。你需要检查一下。(没有实际的表模式,查询和表值只能猜测。:))
答案 1 :(得分:0)
你的问题很模糊。所以,我的答案将涉及猜测。像Rahul提到的那样,没有硬编码的命名约定。至于为什么你必须改变你的外键名称来使事情有效,我猜你可能有多个同名的外键。
请查看有关您遇到的错误的问题。