`
384444165
  • 浏览: 258739 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql errno: 150 错误 外键

阅读更多

ERROR 1005 (HY000): Can't create table '  ****.frm' (errno: 150)

 

问题

1、确保参照的表和字段是存在的; 

2、组成外键的字段要求被索引(主要是外键那个字段要求在其他表中是主键);

3、外键关联的两表或多表要求都是INNODB类型的表;

4、字段类型(说明)要一样

 

从workbench导出的sql就是之一插入不了数据库,之前还可以,留下来做个记录吧。

 

第一和第四条都比较清楚,标注一下第2、3条。

2. 要求在该字段建立索引,我就是遇到这个问题,之前外键关联的字段改成了另一个,它是主键,但是是联合的,也就是建立了联合索引,这种情况下建立外键在这个键上mysql是不支持的,因此需要注意,必须是单独建立在这个键上了索引才行。

3. INNODB支持外键,MyISAM引擎不支持外键。

因此主要查看这两种错误,用工具建立的表一般不会出现1、4种错误,希望帮到看到文章的人减少浪费的时间。也做个记录。

0
0
分享到:
评论

相关推荐

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

    在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕 的150错误的常见原因列出来了,并且我以...

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

    在MySQL中,创建外键关联时遇到"errno:150"错误,通常是由于数据类型不匹配、缺少索引或不正确的约束设置等原因导致的。以下是对这些常见问题的详细解释: 1. **数据类型不匹配**:外键字段与主键字段的数据类型...

    MySQL常见错误及解决方案.pdf

    4. 创建子表时,出现错误“ERROR 1005 (HY000): Can't create table 'database.tablename'(errno: 150)”,如何解决? 解决方法:检查子表的外键是否关联父表的主键,且关联字段的数据类型是否匹配,如果类型不一样...

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

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

    解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)

    MySQL数据库在执行还原操作时,可能会遇到各种错误,其中一种常见的错误是`Error Code: 1005`,伴随着`errno 121`。这个错误通常与表的结构有关,特别是涉及到外键约束或者主键冲突时。在本文中,我们将深入探讨这个...

    MySQL删除外键问题小结

    在新建外键或删除外键时,也可能会遇到错误150,这通常与数据类型不匹配、引用的列不存在或者约束条件与列定义不符有关。解决这类问题的方法是检查外键定义,确保所有列的数据类型、长度和精度都与被引用的列相匹配...

    MySQL中文参考手册.chm

    1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 ...

    MySQL常见出错代码速查表

    10. 错误代码2003: "Can't connect to MySQL server on 'hostname' (errno: X)",通常是因为网络问题或服务器未运行导致无法连接到MySQL服务。 为了解决这些问题,可以采取以下步骤:检查并修复配置文件(如my.cnf...

    MYSQL

    1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 2.4 在...

    MySQL中文参考手册

    * 2 MySQL 邮件列表及如何提问或报告错误 o 2.1 MySQL邮件列表 o 2.2 提问或报告错误 o 2.3 怎样报告错误或问题 o 2.4 在邮件列表上回答问题的指南 * 3 MySQL的许可证和技术支持 o 3.1 MySQL的许可证政策 o ...

    MYSQL学习 利用C语言编写的基于MYSQL超市数据管理系统.zip

    `mysql_error()`函数可以获取错误信息,`mysql_errno()`返回错误代码。良好的错误处理机制能够使程序更加健壮。 此外,为了提高性能,开发者可能采用了预编译语句(prepared statements)来防止SQL注入攻击。预编译...

Global site tag (gtag.js) - Google Analytics