Estou tentando criar uma tabela no MySQL com duas chaves estrangeiras, que fazem referência às chaves primárias em 2 outras tabelas, mas estou recebendo um errno: erro 150 e não criará a tabela.
Aqui está o SQL para todas as 3 tabelas:
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;
Qualquer ajuda seria muito apreciada.
auto_increment
? Isso não é válido. Auto_increment é uma palavra-chave, não um identificador.