在MySQL中命名外键时要遵循哪些命名约定(如果有)?

时间:2016-09-01 09:50:13

标签: mysql naming-conventions

我在更新MySQL数据库时遇到错误。错误是Can't write; duplicate key in table 'XXX'

我为删除错误所做的是根据所涉及的表名重命名外键。我不知道为什么会奏效。在MySQL中命名外键时是否遵循某些命名约定?

2 个答案:

答案 0 :(得分:0)

在命名外键时,没有这样的硬编码命名约定。但是大多数情况下,最好将其命名为FK_XXXXXXXXXX。

就您的错误而言,您的表似乎在列上具有唯一/主键约束,这限制了您在该列中插入重复值。你需要检查一下。(没有实际的表模式,查询和表值只能猜测。:)

答案 1 :(得分:0)

你的问题很模糊。所以,我的答案将涉及猜测。像Rahul提到的那样,没有硬编码的命名约定。至于为什么你必须改变你的外键名称来使事情有效,我猜你可能有多个同名的外键。

请查看有关您遇到的错误的问题。

Error 1022 - Can't write; duplicate key in table