mysql建表是报错1005 具体错误原因如下

15031316:04:06Errorinforeignkeyconstraintoftablemysql/userbase:foreignkey(UserCode)re... 150313 16:04:06 Error in foreign key constraint of table mysql/userbase:
foreign key(UserCode)references UserSalary(UserCode)):
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.
Note that the internal storage type of ENUM and SET changed in
tables created with >= InnoDB-4.1.12, and such columns in old tables
cannot be referenced by such columns in new tables.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
for correct foreign key definition.

建表语句如下:
第一个表:

create table UserSalary(
UserId int not null primary key auto_increment,
UserCode Varchar(6) not null,
NumSalary Double(9,2) not null,
Mon int not null);

第二个表:

create table userbase(
UserCode Varchar(6) not null,
UserName Varchar(20) not null,
UserSex Varchar(3),
UserBirday Date,
primary key(UserCode),
foreign key(UserCode)references UserSalary(UserCode));
建第二个表是因为有了主外键关系 ,提示1005错误
展开
 我来答
xingting的故事
2015-03-18 · 超过13用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:17.8万
展开全部
我记得,好像是,如果在另外一个表中建立外键,userSalary中的UserCode必须是主键
wuxiaoh168
2015-03-16 · TA获得超过496个赞
知道答主
回答量:123
采纳率:0%
帮助的人:65.7万
展开全部
去掉reference试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式