创建表时出现MySQL错误1005
我在MySQL Workbench上创建了一个新的数据库,但是我得到了很多错误。所以我尝试手动创建。但我也犯了另一个错误,我不明白发生了什么 这是我的SQL代码:创建表时出现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
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自动创建。