mysql外键关联导致的150错误(MySQL ERROR 1005: Can't create table (errno: 150))
来源:互联网 发布:网络摄像头服务器搭建 编辑:程序博客网 时间:2024/06/05 02:14
在工作中由于需要需要建立这样一张表:
CREATE TABLE t_usergroup_info(id INT(11) auto_increment PRIMARY KEY,FID INT(11) unsigned NOT NULL,groupid INT(11) NOT NULL,CONSTRAINT fk_master_group FOREIGN KEY(FID) REFERENCES t_user_info(FID) ON DELETE CASCADE,CONSTRAINT fk2_master_group FOREIGN KEY(groupid) REFERENCES t_groupmanager_info(groupid))ENGINE=INNODB DEFAULT CHARSET=utf8;
在这个表中关联了另外两张表的主键。分别为:
CREATE TABLE t_groupmanager_info(groupid INT(11) auto_increment PRIMARY KEY,gname VARCHAR(40) NOT NULL,gdesc VARCHAR(50)
,gcreatedate VARCHAR(30) )ENGINE=INNODB DEFAULT CHARSET=utf8;
CREATE TABLE `t_user_info` ( `FID` int(11) unsigned NOT NULL auto_increment, `FAccount` varchar(30) NOT NULL, `FName` varchar(40) NOT NULL
, `FPassword` varchar(35) NOT NULL, PRIMARY KEY (`FID`)) ENGINE=INNODB DEFAULT CHARSET=utf8;
然后就报了150错误
1005 - Can't create table '.t_usergroup_info.frm' (errno: 150)于是我就开始原因,按照网上说的:
出现150问题的大致情况
1、外键的引用类型不一样,如主键是int外键是char
2、找不到主表中引用的列
3、主键和外键的字符编码不一致,也可能存储引擎不一样
发现不存在这样的问题。于是我就把外键去掉,发现可以创建。最后发现是FID这个外键导致的,对比另一个外键,发现FID是unsigned类型的
,抱着试试看的态度,把t_user_info和t_usergroup_info 列名FID中unsigned关键字去掉了,就没有出现错误了
(非主键当外键的时候也有同样的问题) 。具体为什么就不知道了。
阅读全文
0 0
- mysql外键关联导致的150错误(MySQL ERROR 1005: Can't create table (errno: 150))
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)解
- MySQL ERROR 1005: Can't create table (errno: 150)
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)
- MySQL ERROR 1005: Can't create table (errno: 150)
- MySQL ERROR 1005: Can’t create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL创建外键时错误:MySQL Error Number 1005 Can’t create table ‘XX.frm’ (errno: 150)
- MySQL 外键创建表失败 ERROR 1005 (HY000): Can't Create Table....(errno: 150)
- MySQL创建外键出现 ERROR 1005: Can't create table (errno: 150)解决办法
- MySQL错误之ERROR 1005 (HY000): Can't create table '******' (errno: 150)
- mysql 1005-Can't create table ''error:121&mysql error 1005 can't create table'<errno:150>
- 行人属性“HydraPlus-Net: Attentive Deep Features for Pedestrian Analysis”
- VSTO简介及发展
- [日推荐]『众跑联盟』懒癌拯救者
- mina prefixedDataAvailable
- APK签名之keytool生成keystore和jarsigner签名apk
- mysql外键关联导致的150错误(MySQL ERROR 1005: Can't create table (errno: 150))
- ajax定时请求html
- Python3 re(正则表达式)
- UGUI_UI元素自定义交互事件
- 搭建Nginx1.10.x静态网站(PC和Mobile)
- SpringMVC整合Shiro权限框架
- springmvc框架定时器功能实现和service注入问题解决
- 7、XML 学习记录——简介
- C#实现Word转PDF