`

MySQL ERROR 1005: Can't create table (errno: 150)

阅读更多

最近做项目无意间报了这个错误,于是上网查查发现如下解决:

 

在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束。 

 

出现问题的大致情况 

 

1、外键的引用类型不一样,主键是int外键是char 

 

2、找不到主表中 引用的列 

 

3、主键和外键的字符编码不一致

 

还有一点最重要的是MySql的默认数据库引擎是否一致,这点可以在my.ini或my.cnf中通过添加

default-storage-engine=INNODB|MyISAM来设置。

分享到:
评论

相关推荐

    MySQL Error Code文档手册

    * Error 1005:SQLSTATE: HY000 (ER_CANT_CREATE_TABLE) Message: Can't create table '%s' (errno: %d) * Error 1006:SQLSTATE: HY000 (ER_CANT_CREATE_DB) Message: Can't create database '%s' (errno: %d) * ...

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

    错误代码121进一步说明了具体问题,即"Can't create table",通常是因为试图创建的表与已经存在的表有冲突,或者表的外键约束定义不正确。具体到errno 121,它提示的是"Duplicate key on write or update",即在写入...

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

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

    Cant create/write to file C:\WINDOWS\TEMP\…MYSQL报错解决方法

    错误提示:Error: Can’t create/write to file ‘C:\WINDOWS\TEMP\#sql_738_0.MYD’ (Errcode: 17) Errno.: 1 问题分析: 1、C:\Windows\TEMP 文件夹权限不够,至少也要给出 USERS 组的可读可写权限; 2、C:\...

    Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法

    针对标题和描述中所提及的“Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法”,该问题主要发生在尝试在Windows操作系统的TEMP文件夹中创建或写入文件时失败,通常会导致MySQL数据库软件报错。...

    MYSQL权限不够解决办法

    ### MySQL权限不够解决办法 在使用MySQL数据库的过程中,可能会遇到“权限不足”的错误提示,这通常是因为当前用户没有足够的权限来执行某些操作(如创建表、删除数据等)。本文将详细介绍如何解决MySQL权限不足的...

    MySQL复制出错 Last_SQL_Errno:1146的解决方法

    MySQL复制出错,报Last_SQL_Errno:1146通常是由于从库上缺少某个表或数据文件导致的。此错误通常与数据迁移、表空间操作(如discard和import tablespace)有关。以下是对该问题的详细分析和解决策略: 1. **错误...

    mysql服务启动问题

    - `0904179:02:55 [ERROR] Unknown/unsupported table type: INNODB` - `0904179:02:55 [ERROR] Aborting` 这些错误信息表明InnoDB引擎在启动过程中遇到了问题,无法创建所需的临时文件。这通常是由于缺少临时文件...

    MySQL常见错误及解决方案

    #### 问题4:创建子表时,出现错误“ERROR 1005 (HY000): Can't create table 'database.tablename' (errno: 150)”,如何解决? 当尝试创建一个依赖于另一个表的子表时,可能会遇到此错误。这是因为子表的外键引用...

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

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

    mysql出错信息表

    1. **1005 - Can't create table '%-.64s' (errno:%d)**:表示无法创建表,可能是因为磁盘空间不足或权限问题。 2. **1006 - Can't create database '%-.64s' (errno:%d)**:表示无法创建数据库,可能是由于磁盘...

    MySQL错误码大全.pdf

    错误消息:撤销数据库时出错(can't rmdir'%s',errno:%d) 解释:在尝试删除数据库目录时遇到错误,可能是因为目录不为空或者没有足够的权限。 12. ER_CANT_DELETE_FILE(错误码:1011) 错误消息:删除'%s'时出错...

    MYSQL

    Apache一起使用 MySQL 18 问题和常见的错误 18.1 如果 MySQL总是崩溃怎么办 18.2 使用 MySQL 时一些常见错误 18.2.1 MySQL server has gone away错误 18.2.2 Can't connect to [local] MySQL ...

    MySQL中文参考手册

    + 5.4.2 SELECT INTO TABLE + 5.4.3 事务(Transactions) + 5.4.4 存储过程和触发器 + 5.4.5 外键(Foreign Keys) # 5.4.5.1 不使用外键的理由 + 5.4.6 视图(Views) + 5.4.7 '--'作为一个 注解的开始 o 5.5 ...

    MySQL中文参考手册.chm

    MySQL中文参考手册.chm 449kb <br/>0 译者序 1 MySQL的一般的信息 1.1 什么是MySQL? 1.2 关于本手册 1.2.1 本手册中使用的约定 1.3 MySQL的历史 1.4 MySQL的主要特征 1.5...

    C操作mysql数据库

    mysql> create table children (childno int not null unique, fname varchar(20), age int); ``` ### 二、插入数据 插入数据可以通过MySQL客户端执行SQL语句完成,也可以通过C语言程序实现。 ```sql mysql> insert...

    Last_Errno: 1062,Last_Error: Error Duplicate entry

    在使用MySQL数据库时,经常可能会遇到一些错误提示,其中“Last_Errno: 1062, Last_Error: Error Duplicate entry”是一个比较常见的错误。这个错误通常出现在执行数据插入(INSERT)或更新(UPDATE)操作时,导致...

    C数据库课程设计mysqlCUMCM-2023C开发笔记

    - 错误处理:学会检查mysql_errno()和mysql_error()来捕获和处理连接或查询中的错误。 - SQL注入:了解SQL注入的概念,学习如何避免在输入验证和参数化查询中引入潜在的安全漏洞。 7. 进阶主题: - 存储过程与...

Global site tag (gtag.js) - Google Analytics