title: MySQL Creating tables with Foreign Keys giving errno: 150
body: <p>I am trying to create a table in MySQL with two foreign keys, which reference the primary keys in 2 other tables, but I am getting an errno: 150 error and it will not create the table.</p>
  
  <p>Here is the SQL for all 3 tables:</p>
  
  <pre><code>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;
  </code></pre>
  
  <p>Any help would be greatly appreciated.</p>