gpt4 book ai didi

mysql - 在 mysql 中添加外键和引用键时出现错误

转载 作者:行者123 更新时间:2023-11-29 11:43:18 24 4
gpt4 key购买 nike

我有两张 table PlanePlaneType

 CREATE TABLE Plane (    ID INT,    Maker VARCHAR(30),    Model VARCHAR(30),    LastMaint VARCHAR(30),    LastMaintA VARCHAR(3),    PRIMARY KEY (ID)) ENGINE = INNODB;CREATE TABLE PlaneType (    Maker VARCHAR(30),    Model VARCHAR(30),    PRIMARY KEY (Maker, Model)    ) ENGINE = INNODB;

After I insert these two tables I add the following foreign and primary keys:

ALTER TABLE Plane ADD FOREIGN KEY (Maker) REFERENCES PlaneType(Maker);
ALTER TABLE Plane ADD FOREIGN KEY (Model) REFERENCES PlaneType(Model);

第一个ALTER工作完美,但第二个给了我错误:

 ERROR 1005 (HY000): Can't create table '----.frm' (errno: 150)

我不明白为什么第一个 ALTER工作完美,第二个则不行。两者都是对主键的引用,这是我能想到的唯一问题。我是一个 mysql 菜鸟,所以这可能是非常明显的事情。

感谢任何帮助,提前致谢。

最佳答案

尝试此SHOW ENGINE INNODB STATUS并查找LATEST FOREIGN KEY ERROR以获取特定错误。

但我确实认为这是索引的问题。您的主键由制造商和型号组成。在 Model 上创建索引,就会创建 FK。

关于mysql - 在 mysql 中添加外键和引用键时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35388147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com