微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 mysql 表中创建外键检查数据类型时出错

如何解决在 mysql 表中创建外键检查数据类型时出错

我知道还有其他类似的问题,我几乎看过所有这些问题,并试图从那里实施答案,但它仍然无效。我的数据类型是相同的,它们都不是无符号的,它们的长度都是相同的。

请求表

| id(primary key)   | int(11) |
| request_message   |varchar(300)|
| request_timestamp | timestamp(6)|
| request_name(index) <-- foreign key-->| varchar(255)|

用户

   | id(primary key)   | int(11) |
   | username(primary key) <--to relate to index key on request table ->|varchar(255)|
   | password | timestamp(6)|
   | email | varchar(255)|

好的,所以我检查了排序规则,它们是相同的,我将约束名称留空,以便 MysqLadmin 自行填充。我也尝试用一个独特的名字自己填充它,但没有。他们中没有一个是未签名的。还尝试将用户名设为索引键仍然无效。此时我不知道还能做什么。请帮忙...

好的,所以我设法解决了它,我真的不知道出了什么问题,但这为我解决了......

我为解决我的问题所做的不是给父表(被引用表)上的列一个主键,而是给它一个唯一键。然后在子表(引用表)上,我总是给引用一个索引键的列。定义约束时,如果已经使用另一个约束来引用父子级,则使用另一个约束。使用相同的约束可能不起作用,因为它对我不起作用。

这很好地解决了我的问题,我希望它也适用于您...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。