MySQL错误1215:无法添加外键约束
我已经到处寻找这个错误,并阅读了大量可能的解决方案,但我仍然无法找出我的脚本出了什么问题 在服务器中执行SQL脚本 错误:错误1215:无法添加外键约束 SQL代码:MySQL错误1215:无法添加外键约束,mysql,Mysql,我已经到处寻找这个错误,并阅读了大量可能的解决方案,但我仍然无法找出我的脚本出了什么问题 在服务器中执行SQL脚本 错误:错误1215:无法添加外键约束 SQL代码: -- ----------------------------------------------------- -- Table `mydb`.`MARINE` -- ----------------------------------------------------- CREATE TABL
-- -----------------------------------------------------
-- Table `mydb`.`MARINE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`MARINE` (
`EDIPI` DECIMAL(10) NOT NULL,
`LastName` VARCHAR(25) NOT NULL,
`FirstName` VARCHAR(25) NOT NULL,
`MiddleInitial` CHAR(1) NULL,
`Rank` VARCHAR(6) NOT NULL,
`MOS` DECIMAL(4) NOT NULL,
`BATTLE_SPACE_Company` CHAR(1) NOT NULL,
`BATTLE_SPACE_Section/Platoon` VARCHAR(2) NOT NULL,
PRIMARY KEY (`EDIPI`),
INDEX `fk_MARINE_BATTLE_SPACE1_idx` (`BATTLE_SPACE_Company` ASC, `BATTLE_SPACE_Section/Platoon` ASC),
CONSTRAINT `fk_MARINE_BATTLE_SPACE1`
FOREIGN KEY (`BATTLE_SPACE_Company` , `BATTLE_SPACE_Section/Platoon`)
REFERENCES `mydb`.`BATTLE_SPACE` (`Company` , `Section/Platoon`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
SQL脚本执行完成:语句:7个成功,1个失败
取回最终形式的视图定义。
没什么可拿的
CREATE TABLE `battle_space` (
`Company` char(1) NOT NULL,
`Location` varchar(20) NOT NULL,
`Section/Platoon` varchar(2) NOT NULL,
PRIMARY KEY (`Company`,`Location`,`Section/Platoon`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
有两个问题
username@mydb[temp]>创建表空间(
公司字符(1)不为空,
位置varchar(20)不为空,
节varchar(2)不为空,
主键(公司、地点、部门)
)ENGINE=InnoDB默认字符集=utf8;
查询正常,0行受影响(0.02秒)
username@mydb[temp]>如果不存在,则创建表(
EDIPI十进制(10)不为空,
LastName VARCHAR(25)不为空,
FirstName VARCHAR(25)不为空,
中间初始字符(1)为空,
秩VARCHAR(6)不为空,
MOS十进制(4)不为空,
战斗空间连字符(1)不为空,
BATTLE_SPACE_段VARCHAR(2)不为空,
位置VARCHAR(20)不为空,
主键(EDIPI),
索引fk_MARINE_BATTLE_SPACE1_idx(BATTLE_SPACE_Company ASC,BATTLE_SPACE_Section ASC,位置),
约束fk_MARINE_BATTLE_SPACE1外键(BATTLE_SPACE_Company,Location,BATTLE_SPACE_Section)
参考作战空间(公司、地点、部门)
删除时无操作更新时无操作
)ENGINE=INNODB默认字符集=UTF8;
查询确定,0行受影响(0.02秒)
您可以缩进吗?@Rahul我意外地拒绝了您的编辑。对不起。@Drew Ok np。。我在回答中更新了很多东西。请检查我的更新答案。@Dave在创建MARINE表之前,您正在设置FK约束的表是否存在?Dave没有,您只是更改了格式。我把它滚回去了