Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL使用另一个表中的外键创建表:errno:150。_Mysql_Sql - Fatal编程技术网

MySQL使用另一个表中的外键创建表:errno:150。

MySQL使用另一个表中的外键创建表:errno:150。,mysql,sql,Mysql,Sql,我想在MySQL中创建两个表,其中第二个表具有来自我的基表的外键 问题是,当我尝试创建第二个表时,我得到了errno:150。由于外键为空,因此失败 如何正确创建第二个表 更多详细信息 我的第一个表有5个属性,第一个属性是主键 我的第二个表有3个属性。此表的第一个和第二个属性引用第一个表的前两个属性 所有变量均为varchar,且长度相同。有什么建议吗?鉴于我们看不到您的代码,我认为解决这个问题的正确方法是打开 请参见下面的示例: CREATE TABLE parent (id INT NOT

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

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

如何正确创建第二个表

更多详细信息

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

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


所有变量均为
varchar
,且长度相同。有什么建议吗?

鉴于我们看不到您的代码,我认为解决这个问题的正确方法是打开

请参见下面的示例:

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\u id)引用parent(id)

您得到的确切错误是什么?如果创建表2,然后手动添加外键约束,会发生什么情况?这可能会对您有所帮助。我最后只是在程序中添加了约束。它省去了我的麻烦。