【发布时间】:2016-02-08 23:48:47
【问题描述】:
我想用外键删除引用数据。
这是我的两个数据表:
CREATE TABLE `specification_variant_parent` (
`specification_variant_parent_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`sort_order` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`specification_variant_parent_id`)
) ENGINE=InnoDB;
CREATE TABLE `specification_variant_parent_description` (
`specification_variant_parent_id` smallint(5) unsigned NOT NULL,
`language_id` tinyint(3) unsigned NOT NULL,
`name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`specification_variant_parent_id`,`language_id`),
KEY (`specification_variant_parent_id`)
REFERENCES specification_variant_parent (specification_variant_parent_id) ON DELETE CASCADE
) ENGINE=InnoDB;
当我在 phpMyAdmin 中触发它时,它会说:
表外键约束错误 数据库/规范_variant_parent_description:外键 (
specification_variant_parent_id) 参考资料 规格变体父(规格变体父ID)ON DELETE CASCADE ) ENGINE=InnoDB: 在引用的索引中找不到索引 引用的列显示为第一列的表,或 表中的列类型和引用的表不匹配 约束。
我的数据库方案有什么问题?
【问题讨论】:
标签: mysql foreign-keys