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

What are some naming conventions, if any, to follow when naming foreign keys in MySQL?

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

我为消除错误所做的工作是根据涉及的 table 名称重命名外键。我不知道它为什么起作用。在 MySQL?

中命名外键时是否有特定的命名约定要遵循?

不,在命名外键时没有这样的硬编码命名约定。但是大多数时候更喜欢将其命名为 FK_XXXXXXXXXX.

就您的错误而言,您的 table 似乎在您的列上有一个 unique/primary 键约束,它限制您在该列中插入重复值。您需要检查一下。(没有实际的 table 架构、查询和 table 值,只能猜测。:)

你的问题很含糊。所以,我的回答将不得不涉及猜测。就像 Rahul 提到的,没有硬编码的命名约定。至于为什么必须更改外键名称才能正常工作,我的猜测是您可能有多个同名的外键。

关于您遇到的错误,请查看此问题。

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