Mysql 添加外键约束时出错
每次尝试向表插入外键时,我都会收到以下消息: 错误代码:1215。无法添加外键约束0.281秒 我的创建表代码:Mysql 添加外键约束时出错,mysql,Mysql,每次尝试向表插入外键时,我都会收到以下消息: 错误代码:1215。无法添加外键约束0.281秒 我的创建表代码: CREATE TABLE `test`.`buy`( `id` INT NOT NULL AUTO_INCREMENT, `id_customer` INT UNSIGNED NOT NULL, `code` VARCHAR(45) NOT NULL, PRIMARY KEY(`id`), UNIQUE INDEX `code_UNIQUE`(
CREATE TABLE `test`.`buy`(
`id` INT NOT NULL AUTO_INCREMENT,
`id_customer` INT UNSIGNED NOT NULL,
`code` VARCHAR(45) NOT NULL,
PRIMARY KEY(`id`),
UNIQUE INDEX `code_UNIQUE`(`code`),
CONSTRAINT `id_customer` FOREIGN KEY(`id_customer`) REFERENCES `test`.`customer`(`id_customer`) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT `code` FOREIGN KEY(`code`) REFERENCES `test`.`product`(`code`) ON DELETE RESTRICT ON UPDATE CASCADE
)
我该怎么办?请下次格式化代码,以便阅读 您不需要约束xxx位,请尝试以下操作:
CREATE TABLE test.buy (
id INT NOT NULL AUTO_INCREMENT,
id_customer INT UNSIGNED NOT NULL,
code VARCHAR(45) NOT NULL,
PRIMARY KEY (id),
UNIQUE INDEX code_UNIQUE (code),
FOREIGN KEY (id_customer)
REFERENCES test.customer (id_customer)
ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY (code)
REFERENCES test.product (code)
ON DELETE RESTRICT ON UPDATE CASCADE
);
如果仍然不起作用,请确保您引用的其他表(test.customer和test.product)已经存在,并且它们具有相同数据类型的匹配字段查看以下答案: