我遇到一个问题,我收到错误消息:
MySQL ERROR 1005 (HY000): Can't create table
每当我尝试创建一个外键来链接我的两个表时。我尝试了各种不同的方法来表示代码但似乎没有解决错误,我假设的当前代码最接近工作:
ALTER TABLE requests
ADD FOREIGN KEY FK_UserRequest(device_id) REFERENCES users(device_id)
我读了很多关于这个主题的帖子,但似乎没有找到一个简明的答案,为什么这不起作用。我希望有人可以专门回答这些问题:
背景信息 -
答案 0 :(得分:1)
是的,您需要确保您引用的密钥是某种索引。
取自:https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
MySQL需要外键索引和引用键[...]
InnoDB允许外键引用任何列或组 列。但是,在引用的表中,必须有一个索引 其中引用的列被列为的第一列 同样的顺序。