解析在MySQL里创建外键时ERROR 1005的解决办法

在MySQL里创建外键时,提示错误,但只提示很简单的信息:ERROR 1005 (HY000): Can't create table 'db_qxztc.qx_userssssnew' (errno: 150)。根本起不到解决问题的作用。

要看错误的详细提示,可以使用命令:(在MySQL Manual里搜索“errno 150”时找到)

SHOW ENGINE INNODB STATUS;     //针对用INNODB存储方式的数据库

在信息中有一组【LATEST FOREIGN KEY ERROR】会有最近错误的详细描述和解决办法。
如:
111211 12:49:34 Error in foreign key constraint of table db_qxztc/qx_userssssnew
:
 foreign key(`SSSSID`) references`qx_SSSS`(`SSSSID`)):
Syntax error close to:
`qx_SSSS`(`SSSSID`))

提示在`qx_SSSS`(`SSSSID`)附近有语法错误,自己就应该仔细检查了,我在这里犯的错误就是references与它的参数间,少了空格。。

(0)

相关推荐

  • MySQL 创建主键,外键和复合主键的语句

    1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名); 2.创建外键语法 ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ; 3.使用组合主键 如果一列不能唯一区分一个表里的记录时,可以考虑多个

  • MYSQL建立外键失败几种情况记录Can't create table不能创建表

    像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这似乎又是一种误导. 在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕 的150错误的常见原因列出来了,并且我以可能性的大小作了排序,已知的原因: 1. 两个字

  • 解析MySQL创建外键关联错误 - errno:150

    当你试图在mysql中创建一个外键的时候,这个出错会经常发生,这是非常令人沮丧的.像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这似乎又是一种误导. 在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕 的15

  • MySQL无法创建外键的原因及解决方法

    关联2张表时出现了无法创建外键的情况,从这个博客看到,问题出在第六点的Charset和Collate选项在表级和字段级上的一致性上.我的2张表的编码charset和collate不一致,2张表都执行执行SQL语句: alter table 表名 convert to character set utf8; 完美解决问题: ps:下面看下MySQL无法创建外键.查询外键的属性 MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各

  • MySQL外键创建失败1005原因汇总

    1.安装mysql有InnoDB的插件扩展 ./configure --prefix=/usr/local/mysql --with-plugins=csv,innobase,myisam,heap,innodb_plugin 2.找不到主表中 引用的列 3.主键和外键的字符编码不一致 4.外键字段与要做外键校验的字段类型不匹配 5.MySQL支持外键约束,并提供与其它DB相同的功能,但表类型必须为 InnoDB,非InnoDB 存储引擎会导致报错. 6.建外键的表的那个列没有index.

  • mysql外键(Foreign Key)介绍和创建外键的方法

    在MySQL中,InnoDB引擎类型的表支持了外键约束.外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持):2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立:3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以: 外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作

  • 解析在MySQL里创建外键时ERROR 1005的解决办法

    在MySQL里创建外键时,提示错误,但只提示很简单的信息:ERROR 1005 (HY000): Can't create table 'db_qxztc.qx_userssssnew' (errno: 150).根本起不到解决问题的作用. 要看错误的详细提示,可以使用命令:(在MySQL Manual里搜索"errno 150"时找到) SHOW ENGINE INNODB STATUS;     //针对用INNODB存储方式的数据库 在信息中有一组[LATEST FOREIGN

  • mysql处理添加外键时提示error 150 问题的解决方法

    像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这似乎又是一种误导. 在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕 的150错误的常见原因列出来了,并且我以可能性的大小作了排序 已知的原因: 1, 两个字

  • Mysql表创建外键报错解决方案

    数据库表A: CREATE TABLE task_desc_tab ( id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT, <strong>taskname</strong> VARCHAR(200) NOT NULL COMMENT '任务名字', sqlname VARCHAR(20) NOT NULL COMMENT 'sql文件名字', params VARCHAR(5000) NOT NULL CO

  • MySQL删除有外键约束的表数据方法介绍

    在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot deleteorupdatea parent row: aforeignkeyconstraintfails (...) 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. 禁用外键约束,我们可以使用: SETFOREIGN_KEY_CHECKS=0; 然后再删除数据 启动外键约束,我们可以使用: SETFOREIG

  • 在django admin中配置搜索域是一个外键时的处理方法

    python 2.7.11 django 1.8.4 错误内容:related Field has invalid lookup: icontains 我原来默认认为在处理外键搜索的时候,django会自动将该外键的行数据以str()化之后进行搜索,但其实并不是这样的,如果将外键加入到搜索域中,需要明确写出来. 这个是我从网上查到的解决方案,测试可用,如下: models.py 文件 # coding:utf8 from django.db import models class Book(mo

  • sql语句创建外键关联的完整实例

    以创建学生教师表为例: 学生 id 关联教师 tid 学生表: student 教师表: teacher sql语句 : USE school; CREATE TABLE student( id INT(10) NOT NULL PRIMARY KEY, NAME VARCHAR(30) DEFAULT NULL, tid INT(10) DEFAULT NULL, KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY(`tid`) REFERE

  • ExtJs异步无法向外传值和赋值的完美解决办法

    1.Ext.data.Store.load();方法是异步的,下面的方式获得的reCount始终是0,因为还没等后台的方法执行完就赋值了,此时store的record还没获得值. var testStore = new Ext.data.GroupingStore({ proxy : new Ext.data.HttpProxy({ url : '' }), reader : new Ext.data.JsonReader({ root : 'hstamcx', totalProperty :

  • Eclipse编辑jsp、js文件时卡死现象的解决办法汇总

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windows–>perferences–>validation 把 除了manual 下面的全部点掉,build下只留 classpath dependency Validator 2.关闭拼写检查 windows–>perferences–>general–> editors->

  • 详解idea文件右键创建New没有Create New Servlet的解决办法

    第一步 第一步先看看 pom.xml 文件中有没有相关的依赖,需要在dependencies中添加Tomcat中关于jsp和servlet的jar. <dependencies> <!--看看有没有下面的这两个依赖 --> <!--看看有没有下面的这两个依赖 --> <!--依赖1 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jav

随机推荐