mysql出现的错误
(一)ERROR 1005 (HY000): Can‘t create table ‘.\day19\user_role.frm‘ (errno: 121)
今天遇到的这个问题是因为创建了五张表,其中有两张中间表,两张中间表中都有一个共同的约束键,即一张表中的关键字被另外两张中间表引用约束。所以另外两张中间表中的引用要起不同的名字
create table role_privilege( role_id varchar(40), privilege_id varchar(40), primary key(role_id,privilege_id), constraint role_id_FK foreign key(role_id) references role(id), constraint privilege_id_FK foreign key(privilege_id) references privilege(id) ); create table user_role( role_id varchar(40), user_id varchar(40), primary key(role_id,user_id), constraint role_id_FK1 foreign key(role_id) references role(id), constraint user_id_FK foreign key(user_id) references user(id) );
(二)ERROR 1005 (HY000): Can‘t create table ‘.\day17\employee.frm‘ (errno: 150)
1、外键的引用类型不一样,主键是int外键是char
2、找不到主表中 引用的列
3、主键和外键的字符编码不一致
4.还有要建立外键的话,要先建立索引。没有建立索引也会出错。
有时候没有设置主键,会产生这种问题
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。