开发者社区 问答 正文

【RDS】云数据库RDS MySQL版创建外键约束时报错

云数据库RDS MySQL版创建外键约束时提示“Cannot add foreign key constraint”错误。

展开
收起
hd4q62obg7msi 2021-11-12 17:02:10 8419 分享
分享
版权
来自: 阿里云内容设计中心 举报
3 条回答
写回答
取消 提交回答
  • 学习

    2022-05-05 13:09:15 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 正在学习中...

    学习

    2022-05-05 08:24:50 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 问题原因 要关联的字段在要关联的表中不是主键。

    解决方案

    此处以tstudent表和tscore表为例说明如何解决此问题。

    1. 执行如下SQL语句,查看tstudent表结构,判断要关联的字段在要关联的表中是不是主键。

      show create table tstudent;

    系统显示类似如下,确认tstudent表没有主键。 image.png

    1. 执行如下SQL语句,确认tscore表结构正常。

      show create table tscore;

    系统显示类似如下。 image.png

    3.执行如下SQL语句,为tstudent表添加主键。

    alter table tstudent add primary key(sno);
    
    1. 执行如下SQL语句,创建外键约束即可成功。

      alter table tscore add constraint fk_tscore_sno foreign key(sno) references tstudent(sno);

    2021-11-12 18:03:34 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等