首页 > 数据库技术 > 详细

mysql出现的错误

时间:2015-04-07 21:25:15      阅读:250      评论:0      收藏:0      [点我收藏+]

(一)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.还有要建立外键的话,要先建立索引。没有建立索引也会出错。 

有时候没有设置主键,会产生这种问题

mysql出现的错误

原文:http://www.cnblogs.com/gaoyan93/p/4399594.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!