`
alex09
  • 浏览: 976952 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MYSQL can't create table(errno:150)

阅读更多
今天创建一个MYSQL数据库时遇到的一个小问题:
create table booktype
(
   btid   int(5) unsigned zerofill auto_increment not null primary key,
   btname varchar(100) not null unique,
   btnote text
);

create table books
(
   bid int(5) unsigned zerofill auto_increment not null primary key,
   bname char(30) not null,
   isbn char(50) not null,
   author char(30) not null,
   press   text,
   summary text,
   bcount int not null default 0,
   btid   int,
   foreign key(btid) references booktype(btid)
);

出现的报错:

ERROR 1005 (HY000): Can't create table '.\bookdata\books.frm' (errno: 150)

主要问题是:

foreign key(btid) references booktype(btid) 中books表的 btid   是int和booktype表中的btid设置的关联字段类型不匹配,books表中btid改正成:btid   int(5) unsigned zerofill ,就不会报错了,创建表和修改表地时候常常一步小小就忘记了这个.
分享到:
评论

相关推荐

    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复制出错 Last_SQL_Errno:1146的解决方法

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

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

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

    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> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'testpass'; ``` 2. **授权** ```sql mysql> GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'localhost'; ``` 3. **刷新权限** ```sql mysql> ...

    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:\...

    mysql出错信息表

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

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

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

    PHPCMS2008 MySQL Errno:1064错误

    关键字描述:错误 MySQL 问题 NOT NULL 数据库 安装 unsigned tinyintPHPCMS2008安装...MySQL Query : CREATE TABLE `phpcms_admin` ( `userid` mediumint(8) unsigned NOT NULL, `username` char(20) NOT NULL, `allow

    MySQL错误码大全.pdf

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

    mysql常用函数列表 (2).pdf

    15. `mysql_field_flags` / `mysql_field_len` / `mysql_field_name` / `mysql_field_seek` / `mysql_field_table` / `mysql_field_type`:这些函数提供关于查询结果中字段的详细信息,如标志、长度、名称、位置、...

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

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

    Last_Errno: 1062,Last_Error: Error Duplicate entry

    5. 使用`SHOW CREATE TABLE`命令查看有问题的表创建信息,分析可能存在的问题。 6. 有时候可能需要执行手动的修正操作,比如删除重复的记录,但需谨慎处理,以免丢失重要数据。 从上述错误信息和处理步骤中,我们...

    mysql服务启动问题

    ### MySQL服务启动问题详解 #### 一、问题背景与原因分析 在Windows 2003环境下遇到MySQL服务无法启动的问题,通常此类问题的发生可能是由多种因素造成的,但根据题目中提供的信息,主要的原因指向了数据文件损坏...

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

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

    MySQL常见错误及解决方案

    **问题描述**:当尝试创建子表时,出现错误提示“`ERROR 1005 (HY000): Can't create table 'database.tablename' (errno: 150)`”。 **解决方案**: 1. **检查关联字段**:确认子表的外键是否正确关联到父表的...

    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

    5.1 MySQL对ANSI SQL92 的扩充 5.2 以ANSI模式运行 MySQL 5.3 MySQL相比ANSI SQL92的差别 5.4 MySQL 缺乏的功能 5.4.1 子选择(Sub-selects) 5.4.2 SELECT INTO TABLE 5.4.3 事务...

Global site tag (gtag.js) - Google Analytics