mysql - 通过 Doctrine Build Task 添加 FK 关系的问题

标签 mysql symfony1 doctrine foreign-key-relationship mysql-error-1005

我已经仔细检查了我的模式,它是正确的......事实上 Doctrine 也构建过它一次......现在它用一些 FK 关系困扰着我...... 我也检查了数据类型。都是int(4)或者int(2)

这里有 2 个问题: 1. 表可以拥有的关系(依赖关系/FK)数量是否有上限? 我的表中最多有 7 个 FK 2. 引用父表(PK)的表数量是否有上限? 我在 20 个表中最多有 30 个字段引用选项表中的单个 ID 列 3. 是否需要CASCASE 行为的定义? 我没用过!

在这种情况下,没有关系生活会更好吗?

错误是:

 SQLSTATE[HY000]: General error: 1005 Can't create table 'sokidb.#sql-268_1d' (errno: 121). Failing Query: "ALTER TABLE Acc_Gl_Accounts ADD CONSTRAINT Acc_Gl_Accounts_society_id_Soc_Societies_id FOREIGN KEY (society_id) REFERENCES Soc_Societies(id)". Failing Query: ALTER TABLE Acc_Gl_Accounts ADD CONSTRAINT Acc_Gl_Accounts_society_id_Soc_Societies_id FOREIGN KEY (society_id) REFERENCES Soc_Societies(id)  

我也直接在 MySQL 中触发查询,它会导致相同的错误。

最佳答案

各位,在过去的几天里,我意识到 Doctrine 可能没有已知的问题。

我的错误是我在一个表“unsigned:true”中为我的 key 定义了一个选项,并且没有为 FK 定义重复相同的选项:( 都是我的错,但解决方案是仔细检查您的数据类型。

调试 MySQL 相关错误的最佳方法是检查生成的 SQL 脚本。 您可以轻松发现列定义中的差异。

感谢约翰的关注。

关于mysql - 通过 Doctrine Build Task 添加 FK 关系的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3082129/

相关文章:

regex - 如何使用正则表达式检查 ramsey/uuid 要求?

php - 是否有内置方法来获取 Doctrine 2 实体中所有更改/更新的字段

python - 使用 Python 和 mySQL(和 windows 作为操作系统),cursor.execute() 没有返回任何结果,但它正在连接

symfony1 - 奇怪的 symfony i18n 错误

symfony - 为什么 Doctrine 迁移尝试在多对多关系上创建 2 个表

php - app.php 的 Symfony 错误 500,在 app_dev.php 上工作正常

php - 如何将 HTML 存储在 Doctrine YML fixture 中

sql - mysql中的运算符优先级

php - SQL COUNT 表的一列

mysql - 从 mysql 表中选择特定的字符串模式