MySQL使用InnoDB引擎建表时出现1005错误

2024-02-27

当我尝试创建具有以下定义的表时,

CREATE TABLE `demo` (
    `id` INT(11) NOT NULL auto_increment,
    `x_id` INT(11) NOT NULL,
    `y_id` INT(11) NOT NULL,
    `z_id` INT(11) NOT NULL,
    `status` TINYINT unsigned NOT NULL,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY  (`id`),
    CONSTRAINT UNIQUE INDEX(x_id, y_id)
) ENGINE=InnoDB;

an OperationalError occurs:

_mysql_exceptions.OperationalError:
(1005, "Can't create table 'xxx.frm' (errno: -1)")

如果我删除尾随,它会起作用ENGINE=InnoDB.

这背后的原因是什么?

MySQL 版本是mysql Ver 14.12 Distrib 5.0.84, for pc-linux-gnu (i686) using readline 5.2


如果重新创建已删除的表,它必须具有符合引用它的外键约束的定义。如前所述,它必须具有正确的列名称和类型,并且必须在引用的键上具有索引。如果不满足这些条件,MySQL 将返回错误号 1005 并在错误消息中引用错误 150。

如果 MySQL 从 CREATE TABLE 语句报告错误号 1005,并且错误消息引用错误 150,则表创建失败,因为外键约束未正确形成。同样,如果 ALTER TABLE 失败并且引用错误 150,则意味着更改的表的外键定义格式不正确。您可以使用显示引擎 InnoDB 状态显示服务器中最近的 InnoDB 外键错误的详细解释。

外键约束 - 错误 1005 http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL使用InnoDB引擎建表时出现1005错误 的相关文章

  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • PHP使用auto_increment生成短唯一ID?

    我想生成一个简短的 唯一的 ID 而不必检查冲突 我目前正在做类似的事情 但是我当前生成的 ID 是随机的 并且在循环中检查冲突很烦人 并且如果记录数量显着增加 将会变得昂贵 通常担心冲突不是问题 但我想要生成的唯一 ID 是一个由 5 8
  • 从 Grib 天气模型中提取数据

    我已经下载了grib1模型数据来自GFS http en wikipedia org wiki Global Forecast System 我使用的是 Mac OS X 并且能够构建wgrib2文件来自NOAA http en wikip
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • MySQL 将表从 Latin1 转换为 utf8

    我需要将包含大量数据的表从 Latin1 转换为 utf8 以便它可以接受韩语字符 如何更改该表而不损坏其中的数据 我的 SQL 语句是什么 最好的方法是什么 ALTER TABLE database name table name CON
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • 无法在 mysql-apt-config [Ubuntu 14.04] 中选择“确定”

    我使用的是 Ubuntu 14 04 sudo apt get update总是给我这个选项来配置 mysql apt config 我尝试选择版本 按 tab gt 在 确定 上突出显示的键 按 Enter 但没有任何反应 它再次返回并突
  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • NHibernate - 无法执行查询 - 输入字符串的格式不正确

    我已经为此摸不着头脑有一段时间了 我不知道出了什么问题 概述 我的 MySQL 数据库中有两个表 两者都正确映射到数据库 我可以加载数据 并且我能够查询一个表 但不能查询另一个表 我研究过的解决方案 表和 C 代码之间的类型转换问题 映射问
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • 拥有更多列或更多行会更高效吗?

    我目前正在重新设计一个可能包含大量数据的数据库 我可以选择在数据库中包含许多不同的列或使用大量行 如果我在下面做一些大纲 可能会更容易 item id user id title description content category t
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据

随机推荐

  • 删除阿拉伯语中的垃圾字符

    我需要从字符串中删除所有非阿拉伯字符 最终在堆栈溢出人员的帮助下 https stackoverflow com questions 6642341 remove garbage characters in utf 6643116 6643
  • 与 eclipse 项目相比,可运行 jar 运行速度太慢

    我从 eclipse 项目中提取了一个 jar 文件 但它运行速度太慢 大约需要二十分钟才能完成 而 eclipse 项目只需要几秒钟 我使用所有三种不同的选择导出了带有库处理的可运行 jar 我还导出了包含所有库处理选项的 jar 文件
  • 如何在 Yarn 上配置应用程序驱动程序自动重启

    来自 Spark 编程指南 要自动从驱动程序故障中恢复 用于运行流应用程序的部署基础架构必须监视驱动程序进程 并在驱动程序失败时重新启动驱动程序 不同的集群管理器有不同的工具来实现这一点 火花独立 火花独立 Spark应用程序驱动程序可以提
  • 无法创建迁移以将新列添加到表中:列名称无效

    我正在尝试向现有表添加一列 它只是一个字符串列 不涉及任何类型的键 这是我试图做的唯一更改 我正在使用 powershell 调用创建迁移 dotnet ef migrations add migration name context co
  • 我们如何在 TOMCAT 中生成堆栈跟踪?

    我们如何在 TOMCAT 中生成堆栈跟踪 我真正的问题是 TOMCAT 在执行某些库中定义的函数调用后停止 使用堆栈跟踪进行调试会很容易 您可以做很多事情 我假设下面您正在谈论 Java 堆栈跟踪 在Linux中 您可以通过执行kill 3
  • 将数据保存在 cakephp 中,同时具有多个关联和所属关联

    我知道这个问题在这里被问了很多次 但我也尽力遵循所提供的解决方案 当我学习 cakephp 时 一些解决方案似乎很难在代码中实现 我正在使用 cakephp 2 5 我想做的是创建一份附有一个或多个上传内容的问题报告 以下是我迄今为止所实施
  • EarlGrey - 如何检查屏幕上是否显示多个对象

    The EarlGrey文档says https github com google EarlGrey blob master docs api md earlgrey matchers that You must narrow down
  • 是否可以同步渲染dust.js模板?

    我正在尝试为客户端 HTML JS 模板系统编写一个适配器 以便在后台使用dust js 不幸的是 API 期望渲染操作同步发生 渲染的输出应该从 render 调用返回 Dust js 是异步的 并将渲染输出传递给回调函数 有没有办法解决
  • 将 Node.JS 中的简单同步函数转换为异步函数

    我有两个函数 第一个函数执行简单的加法 第二个函数执行减法 这些函数如何在 Node JS 中异步执行 我有两个函数 第一个函数执行简单的加法 第二个函数执行减法 这些函数如何在 Node JS 中异步执行 简而言之 你不能 您无法使同步代
  • 如何使用或完成意大利面条代码?

    Q 最近 我要求测试代码 以检测错误并修复问题 我发现很多问题 但这里的主要问题是代码本身 意大利面条代码许多代码行和跟踪解决问题是如此困难 加上一些代码是从互联网复制并粘贴的不做任何修改 没有文档这段代码是可能的 表现太差了由于在每件事中
  • Java:一行中多个++-增加。第一个是哪一个?

    嘿 我有以下两行代码 result i temp i temp i 1 temp i 2 i 2 我想知道这行代码是否会执行相同的操作 result i temp i temp i temp i 我可以确定吗EVERYVM会从左到右处理该行
  • 错误:未找到:'dart:ffi' 与 flutter web

    报告前请仔细阅读 我的 flutter web 项目运行得很好 几个小时后 它开始抱怨 dart ffi 我什至没有导入 我看到了类似的问题 但没有一个是我的情况 我尝试了所有能找到的东西 但没有任何效果 以下是错误 C src flutt
  • bash 中的“else if”和“elif”有什么区别?

    我有以下 shell 脚本 它应该只是将一些 Java ear war 文件暂存到 JBoss SUCCESS false DEPLOY PATH apps jboss server default deploy E NOARGS 75 M
  • 运行第一个 Android 应用程序 - 错误消息

    当我尝试启动第一个时出现此错误你好世界安卓应用程序 我正在做基于的教程Sams 在 24 小时内自学 Android 应用程序开发 https rads stackoverflow com amzn click com 0321673352
  • Visual Studio F# 项目:文件树中不能有两个同名的文件夹吗?

    在 Visual Studio 2013 中 我的项目之一包括
  • 某些设备上的 java.lang.NoClassDefFoundError 异常

    我有一个ImageView in my Fragment 我正在设置一个onClick Listener public class TutorialFragment extends Fragment private TutorialAdap
  • 有没有办法预先提供 git rebase 和用于 rebase 的列表

    代替git rebase i并手动编辑是否有可能提供git rebase将拾取 放置 挤压列表作为文本文件 或者我是否需要将 GIT EDITOR 重定向到提供它的脚本 你需要使用GIT EDITOR or GIT SEQUENCE EDI
  • javascript 通过脚本标签定义范围?

    没遇到过这个问题 也不知道为什么 唯一的解释是范围问题 在同一页面中 我有 2 个 JS 部分 这将显示一个错误 go 未定义 where 正在工作 显然
  • 谷歌Adsense透明背景

    如何让 Google Adsense 屏蔽透明 它使用 iframe 并且驻留在其他域中 因此 jQuery 无法执行任何操作 我尝试用 css 来定位它 但这也是不可能的 有任何想法吗 我并不是想玩弄 AdSense 系统 只是我有一个背
  • MySQL使用InnoDB引擎建表时出现1005错误

    当我尝试创建具有以下定义的表时 CREATE TABLE demo id INT 11 NOT NULL auto increment x id INT 11 NOT NULL y id INT 11 NOT NULL z id INT 1