当我尝试创建表格时出现此错误:Can't create table users_groups (errno: 150)
我的剧本:
CREATE TABLE `users_groups` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL,
`group_id` mediumint(8) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_users_groups_users1_idx` (`user_id`),
KEY `fk_users_groups_groups1_idx` (`group_id`),
CONSTRAINT `uc_users_groups` UNIQUE (`user_id`, `group_id`),
CONSTRAINT `fk_users_groups_users1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `fk_users_groups_groups1` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
答案 0 :(得分:1)
错误150与外键的定义有关。
你没有提到MySQL版本,但这里有几件事需要检查:
MySQL的文档说明可以在错误150之后使用“SHOW ENGINE INNODB STATUS”命令来获取有关错误本身的更多信息。我建议你试一试。在输出中,搜索“最新的外键错误”部分。