创建表时出现MySQL错误1005

创建表时出现MySQL错误1005,mysql,sql,mysql-error-1005,Mysql,Sql,Mysql Error 1005,我在MySQL Workbench上创建了一个新的数据库,但是我得到了很多错误。所以我尝试手动创建。但我也犯了另一个错误,我不明白发生了什么 这是我的SQL代码: CREATE DATABASE data; USE data; CREATE TABLE IF NOT EXISTS `TB_CHILD` ( `ID` INT NOT NULL AUTO_INCREMENT , `NAME` VARCHAR(250) NOT NULL , `STATUS` ENUM('A','I') N

我在MySQL Workbench上创建了一个新的数据库,但是我得到了很多错误。所以我尝试手动创建。但我也犯了另一个错误,我不明白发生了什么

这是我的SQL代码:

CREATE DATABASE data;

USE data;

CREATE  TABLE IF NOT EXISTS `TB_CHILD` (
 `ID` INT NOT NULL AUTO_INCREMENT ,
 `NAME` VARCHAR(250) NOT NULL ,
 `STATUS` ENUM('A','I') NOT NULL ,
 PRIMARY KEY (`ID`) )
ENGINE = InnoDB;

CREATE  TABLE IF NOT EXISTS `TB_PARENT` (
 `ID` INT NOT NULL AUTO_INCREMENT ,
 `TITLE` VARCHAR(250) NOT NULL ,
 `CHILD` INT NOT NULL ,
 `STATUS` ENUM('A','I') NOT NULL ,
 PRIMARY KEY (`ID`) ,
 INDEX `FK_PARENT_CHILD` (`CHILD` ASC) ,
 CONSTRAINT `FK_PARENT_CHILD`
   FOREIGN KEY (`CHILD` )
   REFERENCES `TB_CHILD` (`ID` ))
ENGINE = InnoDB;
我总是得到错误代码1005。我使用的是Mysql服务器5.5。我的代码怎么了


编辑:使用代码使用数据更新;但是我仍然得到相同的错误。

您创建了数据库,但没有选择它来创建表,请尝试:

CREATE DATABASE data;

use data;

CREATE  TABLE IF NOT EXISTS `TB_CHILD` (
...

您创建了数据库,但没有选择它来创建表,请尝试:

CREATE DATABASE data;

use data;

CREATE  TABLE IF NOT EXISTS `TB_CHILD` (
...
使用创建的数据库“数据”

您的数据库只需要创建一次,但每次开始mysql会话时都必须选择它以供使用。如果未选择数据库,则表创建将失败。因此,您将得到错误1005。

使用创建的数据库“data”


您的数据库只需要创建一次,但每次开始mysql会话时都必须选择它以供使用。如果未选择数据库,则表创建将失败。因此,您将收到错误1005。

您正在尝试为一个尚不存在的字段创建索引:

INDEX `FK_PARENT_CHILD` (`CHILD` ASC) ,
 CONSTRAINT `FK_PARENT_CHILD`
   FOREIGN KEY (`CHILD` )
   REFERENCES `TB_CHILD` (`ID` ))
尝试恢复顺序:

CONSTRAINT `FK_PARENT_CHILD`
   FOREIGN KEY (`CHILD` )
   REFERENCES `TB_CHILD` (`ID` )),
INDEX `FK_PARENT_CHILD` (`CHILD` ASC)

您正在尝试为尚不存在的字段创建索引:

INDEX `FK_PARENT_CHILD` (`CHILD` ASC) ,
 CONSTRAINT `FK_PARENT_CHILD`
   FOREIGN KEY (`CHILD` )
   REFERENCES `TB_CHILD` (`ID` ))
尝试恢复顺序:

CONSTRAINT `FK_PARENT_CHILD`
   FOREIGN KEY (`CHILD` )
   REFERENCES `TB_CHILD` (`ID` )),
INDEX `FK_PARENT_CHILD` (`CHILD` ASC)

谢谢,但这不是问题所在。如果执行代码,则只能创建表父级。问题出在FK上。但我不知道是什么。谢谢,但这不是问题所在。如果执行代码,则只能创建表父级。问题出在FK上。但我不知道是什么。虽然如此,但当我试图在父表上设置值时,仍然会出错。。。但第一个问题已经解决了。非常感谢。这不是错误原因。您甚至可能不创建此索引,它将由INNODB自动创建。虽然如此,但当我尝试在父表上设置值时,仍然会出错。。。但第一个问题已经解决了。非常感谢。这不是错误原因。您甚至可能不创建此索引,它将由INNODB自动创建。