0

我想在 MySQL 中创建 2 个表,其中第二个表具有来自我的基表的外键。

问题是当我尝试创建第二个表时,我得到 errno:150。失败是因为外键为空。

如何正确创建第二个表?

更多细节

我的第一个表有 5 个属性,第一个属性是主键。

我的第二张表有 3 个属性。此表的第一个和第二个属性引用第一个表中的前 2 个属性。

所有的变量varchar都是相同的长度。有什么建议么?

4

1 回答 1

1

鉴于我们看不到您的代码,我认为解决此问题的正确方法是在MySQL - Foreign Key documentation page 上

请参阅下面的示例:

CREATE TABLE parent (id INT NOT NULL,
                     PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child (id INT, parent_id INT,
                    INDEX par_ind (parent_id),
                    FOREIGN KEY (parent_id) REFERENCES parent(id)
                      ON DELETE CASCADE
) ENGINE=INNODB;

这条线正是你需要做的:FOREIGN KEY (parent_id) REFERENCES parent(id)

于 2012-10-14T05:11:39.867 回答