Mysql 错误1215:无法添加外键约束
我要去拿 错误1215: 无法在我的sql脚本上添加外键约束 我已经检查了关于这个问题的另一个问题,答案总是你必须设置相同的类型 嗯,外键的类型是相同的,但是我得到了这个错误 以下是我的sql脚本的代码:Mysql 错误1215:无法添加外键约束,mysql,sql,database,Mysql,Sql,Database,我要去拿 错误1215: 无法在我的sql脚本上添加外键约束 我已经检查了关于这个问题的另一个问题,答案总是你必须设置相同的类型 嗯,外键的类型是相同的,但是我得到了这个错误 以下是我的sql脚本的代码: CREATE DATABASE IF NOT EXISTS CarLoan; USE CarLoan; CREATE TABLE IF NOT EXISTS `CarLoan`.`sede` ( `id_sede` INT NOT NULL, `nome` VARCHAR(45) NOT
CREATE DATABASE IF NOT EXISTS CarLoan;
USE CarLoan;
CREATE TABLE IF NOT EXISTS `CarLoan`.`sede` (
`id_sede` INT NOT NULL,
`nome` VARCHAR(45) NOT NULL,
`citta` VARCHAR(45) NOT NULL,
`via` VARCHAR(45) NOT NULL,
`telefono` VARCHAR(9) NULL,
PRIMARY KEY (`id_sede`))
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `CarLoan`.`impiegato` (
`cf` CHAR(16) NOT NULL,
`nome` VARCHAR(45) NOT NULL,
`cognome` VARCHAR(45) NOT NULL,
`id_sede` INT NOT NULL,
`mail` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
PRIMARY KEY (`cf`),
INDEX `id_sede_idx` (`id_sede` ASC),
FOREIGN KEY (`id_sede`)
REFERENCES `CarLoan`.`sede` (`id_sede`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `CarLoan`.`direttore` (
`cf` CHAR(16) NOT NULL,
`nome` VARCHAR(45) NOT NULL,
`cognome` VARCHAR(45) NOT NULL,
`id_sede` INT NOT NULL,
`mail` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
PRIMARY KEY (`cf`),
INDEX `id_sede_idx` (`id_sede` ASC),
FOREIGN KEY (`id_sede`)
REFERENCES `CarLoan`.`sede` (`id_sede`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
我不知道你为什么会有这个错误,但在我看来,没关系,日志如下:
sql> CREATE DATABASE IF NOT EXISTS CarLoan
[2015-11-02 19:59:40] 1 row(s) affected in 6ms
sql> USE CarLoan
[2015-11-02 19:59:40] completed in 3ms
sql> CREATE TABLE IF NOT EXISTS `CarLoan`.`sede` (
`id_sede` INT NOT NULL,
`nome` VARCHAR(45) NOT NULL,
`citta` VARCHAR(45) NOT NULL,
`via` VARCHAR(45) NOT NULL,
`telefono` VARCHAR(9) NULL,
PRIMARY KEY (`id_sede`))
ENGINE = InnoDB
[2015-11-02 19:59:41] completed in 725ms
sql> CREATE TABLE IF NOT EXISTS `CarLoan`.`impiegato` (
`cf` CHAR(16) NOT NULL,
`nome` VARCHAR(45) NOT NULL,
`cognome` VARCHAR(45) NOT NULL,
`id_sede` INT NOT NULL,
`mail` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
PRIMARY KEY (`cf`),
INDEX `id_sede_idx` (`id_sede` ASC),
FOREIGN KEY (`id_sede`)
REFERENCES `CarLoan`.`sede` (`id_sede`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB
[2015-11-02 19:59:42] completed in 748ms
sql> CREATE TABLE IF NOT EXISTS `CarLoan`.`direttore` (
`cf` CHAR(16) NOT NULL,
`nome` VARCHAR(45) NOT NULL,
`cognome` VARCHAR(45) NOT NULL,
`id_sede` INT NOT NULL,
`mail` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
PRIMARY KEY (`cf`),
INDEX `id_sede_idx` (`id_sede` ASC),
FOREIGN KEY (`id_sede`)
REFERENCES `CarLoan`.`sede` (`id_sede`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB
[2015-11-02 19:59:42] completed in 472ms
您的代码很好,只需尝试任何不存在此db的测试服务器并还原输出…请将输出缩进四个空格,使其成为代码视图,这样更易于阅读。