【MySQL8.0】workbench添加外键时报错Error Code: 3780

具体错误信息为: Error Code: 3780. Referencing column ‘Cno’ and referenced column ‘Cno’ in foreign key constraint ‘sc_ibfk_4’ are incompatible.

具体SQL语句为:

alter table sc add foreign key(Cno) references course(Cno) on update cascade on delete cascade;

上网查找后发现应该是sc表中的Cno列和course表中Cno列的字符集设置不同
course表中设置:
【MySQL8.0】workbench添加外键时报错Error Code: 3780_第1张图片
sc表中设置:
【MySQL8.0】workbench添加外键时报错Error Code: 3780_第2张图片
修改后执行原SQL语句仍旧出错

尝试了半天,最后把字符集设置成这样:
course表:
【MySQL8.0】workbench添加外键时报错Error Code: 3780_第3张图片

sc表:
【MySQL8.0】workbench添加外键时报错Error Code: 3780_第4张图片
就成功了…
在这里插入图片描述
不知道为什么把字符集设置成utf8 / collation设置成utf8_bin就不行

迷惑

你可能感兴趣的:(MySQL数据库,mysql,数据库,sql)