ฉันกำลังพยายามสร้างตารางใน MySQL ด้วยคีย์ต่างประเทศสองคีย์ซึ่งอ้างอิงคีย์หลักในอีก 2 ตาราง แต่ฉันได้รับข้อผิดพลาด errno: 150 และจะไม่สร้างตาราง
นี่คือ SQL สำหรับทั้ง 3 ตาราง:
CREATE TABLE role_groups (
`role_group_id` int(11) NOT NULL `AUTO_INCREMENT`,
`name` varchar(20),
`description` varchar(200),
PRIMARY KEY (`role_group_id`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `roles` (
`role_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50),
`description` varchar(200),
PRIMARY KEY (`role_id`)
) ENGINE=InnoDB;
create table role_map (
`role_map_id` int not null `auto_increment`,
`role_id` int not null,
`role_group_id` int not null,
primary key(`role_map_id`),
foreign key(`role_id`) references roles(`role_id`),
foreign key(`role_group_id`) references role_groups(`role_group_id`)
) engine=InnoDB;
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.