为了账号安全,请及时绑定邮箱和手机立即绑定

这个报错是什么原因?

#1215 - Cannot add foreign key constraint 这个报错是什么原因?

正在回答

5 回答

你的数据长度不一样,而且符号不一样province中你是

`ID` smallint(6) NOT NULL是数长度是6,外键PID是

Pid smallint unsigned ,无符号没设置长度

0 回复 有任何疑惑可以回复我~
#1

qq_慕斯卡7096827 提问者

非常感谢!
2016-12-18 回复 有任何疑惑可以回复我~

CREATE TABLE `province` (
 `ID` smallint(6) NOT NULL AUTO_INCREMENT,
 `ProName` varchar(20) NOT NULL,
 PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

这是另一个表

0 回复 有任何疑惑可以回复我~
#1

慕侠3665425

原表的数字类型是有符号的,user1中的pid是无符号的。
2016-11-15 回复 有任何疑惑可以回复我~

数据类型和长度都是一样的

0 回复 有任何疑惑可以回复我~

CREATE TABLE user1

(

    ID smallint unsigned primary key auto_increment ,

    UserName varchar(10) not null ,

    Pid smallint unsigned ,

    foreign key (Pid) references province(ID) 

);


0 回复 有任何疑惑可以回复我~

把你的代码贴上来嘛

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396884    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

这个报错是什么原因?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信