Mysql InnoDb有时工作,但有时不工作

Mysql InnoDb有时工作,但有时不工作,mysql,innodb,Mysql,Innodb,我正在用数据库来重写我的程序,其中一部分是编写转换脚本和创建新表的脚本 我正在重命名表,更改索引,并且通常以某种方式更改表的大部分,部分原因是我正在从MyISAM更改为InnoDB表 转换脚本可以完美地工作,但是创建新表的脚本在某个特定点失效 Query: create table team_resources ( amount double not null default 0, resource int unsigned not null default 0,

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

我正在重命名表,更改索引,并且通常以某种方式更改表的大部分,部分原因是我正在从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
我得到了当无法创建表时给出的错误。该脚本是从Python文件运行的,但在原始脚本和表向导帮助器表单thingie中,我的SQL程序和phpMyAdmin都出现了相同的错误

所有的表都转换成了InnoDB,所以我很难理解为什么创建新表会有问题。如果我去掉InnoDB部分,这个查询就会工作


有什么建议吗?

我可以在MySQL 5.0.32安装上很好地运行该语句。这可能是一个已经修复的bug。

对此有一些启示。看起来创建/删除表并不是非常原子化的

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

处理此问题的另一种方法在的末尾进行了描述,但您应该验证问题是否存在于frm文件中