Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 phpMyAdmin:错误150(#1005)_Mysql_Sql - Fatal编程技术网

MySQL phpMyAdmin:错误150(#1005)

MySQL phpMyAdmin:错误150(#1005),mysql,sql,Mysql,Sql,我真的不确定问题出在哪里,但我一直在尝试创建的工作表上出错 CREATE TABLE Works_On(tid INT NOT NULL, startingDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, id INT, Primary Key(id), Foreign Key(tid) REFERENCES Team(tid),Foreign Key(id) REFERENCES Cases(id)); CREATE TABLE Cases(id INT N

我真的不确定问题出在哪里,但我一直在尝试创建的
工作表上出错

CREATE TABLE Works_On(tid INT NOT NULL, startingDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, id INT, Primary Key(id), Foreign Key(tid) REFERENCES Team(tid),Foreign Key(id) REFERENCES Cases(id));

CREATE TABLE Cases(id INT NOT NULL AUTO_INCREMENT, priority INT, name VARCHAR(255) NOT NULL, description TEXT, completionDate datetime, status VARCHAR(20), cid INT, Foreign Key(cid) REFERENCES Contact(cid), Primary Key(id));

    CREATE TABLE Gives_Problem_To(tid INT NOT NULL, onDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, cid INT NOT NULL, Primary Key(tid), Foreign Key(tid) REFERENCES Team(tid),Foreign Key(cid) REFERENCES Contact(cid));
我得到的错误是:#1005-无法创建表

我试图找出这个错误是什么,我得到了以下结果:

Storage Engines
InnoDB Documentation

Supports transactions, row-level locking, and foreign keys 
这让我觉得我的外键有问题,但我不知道它到底有什么问题


编辑:我试图将案例的CREATE TABLE语句移到顶部,以防外键问题是由于在引用案例表之前未创建该表而引起的,现在我的phpAdmin在加载时卡住了…

将案例的CREATE TABLE语句移到顶部修复了该问题。在表上创建外键约束时,必须先存在该表,然后才能引用它。解决方案如下所示:

CREATE TABLE Cases(id INT NOT NULL AUTO_INCREMENT, priority INT, name VARCHAR(255) NOT NULL, description TEXT, completionDate datetime, status VARCHAR(20), cid INT, Foreign Key(cid) REFERENCES Contact(cid), Primary Key(id));

CREATE TABLE Gives_Problem_To(tid INT NOT NULL, onDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, cid INT NOT NULL, Primary Key(tid), Foreign Key(tid) REFERENCES Team(tid),Foreign Key(cid) REFERENCES Contact(cid));

CREATE TABLE Works_On(tid INT NOT NULL, startingDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, id INT, Primary Key(id), Foreign Key(tid) REFERENCES Team(tid),Foreign Key(id) REFERENCES Cases(id));

您必须首先创建表
Team
。Team表可能存在重复项。我认为Cases表的createtable语句应该位于顶部。我试图验证这是真的,但是myPhpAdmin被冻结了,所以我无法验证在我将CREATETABLE Case语句粘贴到顶部后错误是否消失。