我使用 MySQL 5.1。有一个带有 2 个外键的表,引用 2 个不同的表:
CREATE TABLE `words` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`word` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `words_groups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `words_in_group` (
`group_id` int(10) unsigned DEFAULT NULL,
`word_id` int(10) unsigned DEFAULT NULL,
KEY `word_id` (`word_id`) USING BTREE,
KEY `group_id` (`group_id`) USING BTREE,
CONSTRAINT `group_id` FOREIGN KEY (`group_id`) REFERENCES `words_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `word_id_fk` FOREIGN KEY (`word_id`) REFERENCES `words` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
但是由于某种原因,当我使用 phpMyAdmin 或 Navicat 并检查此表结构时,words_in_group 表中的键之一的 CASCADE 属性未设置。
会是什么?怎么解决?也许,使用触发器?