开发者社区> 问答> 正文

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

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

展开
收起
hd4q62obg7msi 2021-11-12 17:02:10 8408 0
3 条回答
写回答
取消 提交回答
  • 学习

    2022-05-05 13:09:15
    赞同 展开评论 打赏
  • 正在学习中...

    学习

    2022-05-05 08:24:50
    赞同 展开评论 打赏
  • 问题原因 要关联的字段在要关联的表中不是主键。

    解决方案

    此处以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
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
TcpRT:阿里云RDS智能诊断系统云上大规模部署自动化服务的客户实践经验 立即下载
TcpRT:面向大规模海量云数据库的服务质量实时采集与诊断系 立即下载
袋鼠云基于阿里云RDS的数据库架构实践 立即下载

相关镜像