云数据库MySQL是支持外键约束的,但在创建外键约束时提示如下错误。
Cannot add foreign key constraint
要关联的字段在要关联的表中不是主键。
此处以tstudent
表和tscore
表为例说明如何解决此问题。
执行如下SQL语句,查看tstudent
表结构,判断要关联的字段在要关联的表中是不是主键。
show create table tstudent;
系统显示类似如下,确认tstudent
表没有主键。
执行如下SQL语句,确认tscore
表结构正常。
show create table tscore;
系统显示类似如下。
执行如下SQL语句,为tstudent
表添加主键。
alter table tstudent add primary key(sno);
执行如下SQL语句,创建外键约束即可成功。
alter table tscore add constraint fk_tscore_sno foreign key(sno) references tstudent(sno);