【发布时间】:2019-08-03 00:55:08
【问题描述】:
我需要帮助解决 MySQL 中的这个问题。我有这张桌子:
CREATE TABLE syncproductscard(
`idsyncproductscard` int(10) unsigned NOT NULL AUTO_INCREMENT,
`idsyncproducts` int(10) NOT NULL,
`carsa` varchar(20) DEFAULT NULL,
`emsa` varchar(20) DEFAULT NULL,
`column` varchar(250) DEFAULT NULL,
`val` varchar(2000) DEFAULT NULL,
`filter` varchar(500) DEFAULT NULL,
`video` varchar(256) DEFAULT NULL,
PRIMARY KEY (`idsyncproductscard`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
但修改表以添加外键,不起作用
ALTER TABLE syncproductscard
ADD CONSTRAINT `fk_idsyncproducts`
FOREIGN KEY (`idsyncproducts`)
REFERENCES syncproducts(`idsyncproducts`)
ON DELETE CASCADE;
MySQL 说:
错误代码:1005。无法创建表
AAA.#sql-41d0_60(errno:150“外键约束格式不正确”)0.016秒
【问题讨论】:
-
你应该阅读这个外键清单:stackoverflow.com/a/4673775/20860
-
请阅读外键定义受以下条件约束的部分:dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html 如果您认为您已遵守这些条件,请添加
idsyncproducts的表定义
标签: mysql constraints mysql-error-1064 alter-table errno