我已经仔细检查了我的模式,并且它正确... Infact学说也构建了一次。现在它使我感到困扰,因为我也检查了数据类型。所有都是int(4)或int(2)

2 QS这里:1。表是否可以拥有的NO关系(依赖关系/fks)有上限?我在表2中最多有7 fks。我在20个表中最多有30个字段,参考了选项表3中的一个ID列。是否需要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中触发了查询,这会导致相同的错误。

有帮助吗?

解决方案

人们,在过去的几天中,我意识到学说可能没有已知的问题。

我的错误是,我在一个表“未签名:true”中定义了我的密钥的选项,并且对FK定义不重复相同的选择:(我的所有故障,但解决方案是仔细检查您的数据类型。

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

感谢约翰,您的兴趣。

其他提示

您可能正在使用InnoDB表,这是现代MySQL版本的默认值,并且遇到了外国基础约束错误。 在这里阅读 用于完整的需求列表。

外键和引用密钥中的相应列必须具有InnoDB内部的类似内部数据类型,以便可以在没有类型转换的情况下进行比较。整数类型的大小和符号必须相同。字符串类型的长度不必相同。对于非二进制(字符)字符串列,字符集和整理必须相同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top