相关疑难解决方法(0)

MySQL使用外键创建表,给出错误:150

我试图在MySQL中创建一个带有两个外键的表,它引用了另外两个表中的主键,但是我得到一个错误:150错误,它不会创建表.

这是所有3个表的SQL:

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;
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

mysql foreign-keys mysql-error-150

96
推荐指数
6
解决办法
12万
查看次数

将一个表中的多个外键定义为多个表

我有3个型号:

发布:

  • ID
  • 标题
  • 身体

照片:

  • ID
  • 文件路径

评论:

  • ID
  • POST_ID
  • 身体

DB中的相应表格.现在,如果我只想为我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY (post_id) REFERENCES post (id).但我希望对其他模型(照片,个人资料,视频等)发表评论,并将所有评论保存在一个表格中.在这种情况下,如何定义外键(我肯定需要ORM的FK)?

database-design foreign-keys

14
推荐指数
2
解决办法
2万
查看次数