【问题标题】:InnoDb working some of the time but not othersInnoDb 有时会工作,但有时不工作
【发布时间】:2009-03-30 20:02:30
【问题描述】:

我正在交换数据库以重写我的程序,其中一部分是编写转换脚本和创建新表的脚本。

我正在重命名表、更改索引并通常以某种方式更改大部分表,其中部分原因是我正在从 MyISAM 更改为 InnoDB 表。

转换脚本完美无缺,但创建新表的脚本在特定点发生故障。

Query:
create table team_resources
(
     amount double not null default 0,
     resource int unsigned not null default 0,
     team int unsigned not null default 0,
     primary key (resource,team)
) ENGINE = InnoDB

我得到error 121,这是无法创建表时给出的错误。该脚本是从 Python 文件运行的,但在我的 SQL 程序和 phpMyAdmin 中的原始脚本和表格向导帮助程序表单中都出现了相同的错误。

所有表都转换为 InnoDB 很好,所以我很难理解为什么它在创建新表时会出现问题。如果我取出 InnoDB 部分,则此查询有效。

有什么建议吗?

【问题讨论】:

    标签: mysql innodb


    【解决方案1】:

    Bug 26507 对此有所了解。看起来创建/删除表不是很原子。

    一种选择是执行 mysqldump 并尝试加载到新安装的数据库中。

    Bug 17546 末尾描述了另一种处理方法,但您应该确认问题出在 frm 文件上。

    【讨论】:

      【解决方案2】:

      我能够在 MySQL 5.0.32 安装上正常运行该语句。这可能是一个已修复的错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多