【发布时间】:2018-10-04 05:13:33
【问题描述】:
我有一个问题,我收到错误消息:
MySQL ERROR 1005 (HY000): Can't create table
每当我尝试创建一个外键来链接我的两个表时。我尝试了多种不同的代码措辞方式,但似乎都无法修复错误,我假设的当前代码最接近工作:
ALTER TABLE requests
ADD FOREIGN KEY FK_UserRequest(device_id) REFERENCES users(device_id)
我阅读了有关此主题的其他许多帖子,但似乎没有找到关于为什么这不起作用的简明答案。我希望有人能具体回答这些问题:
- 外键是否需要引用主键?我看过一些帖子对这个问题说是也不是。
- 为什么这个特定的代码不起作用?
背景信息-
- 引擎被确认为innoDB
- device_id 是两个表中具有相同属性的列:CHAR(40)
- users 表中的 device_id 不是主键
- 数据库细节:版本 5.5.56-MariaDB
【问题讨论】:
-
如果 napolis 回答不能解决您的问题,请将表格定义作为文本添加到问题中。
-
请提供
SHOW CREATE TABLEs。
标签: mysql database foreign-keys mariadb mysql-error-1005