首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aruba-MySQL:无法创建/更改表为engine=INNODB

Aruba-MySQL:无法创建/更改表为engine=INNODB
EN

Stack Overflow用户
提问于 2015-06-16 21:48:16
回答 1查看 512关注 0票数 1

我们的数据库存储在阿鲁巴(mysql.aruba.it),那里有一个名为"task“的表。由于需求中的许多变化,我们决定删除该表,并使用不同的字段和约束从0重新创建它。问题是MySQL/Aruba不再允许我们创建表。或者更好的是,我们可以只使用engine MyISAM来创建另一个任务表,但是我们需要INNODB,因为我们将在表中使用约束和外键。因此,我尝试创建一个MyISAM表,然后将其转换为INNODB,但得到如下错误:

代码语言:javascript
复制
ALTER TABLE  `task` ENGINE = INNODB
#1025 - Error on rename of './Sql689345_4/#sql-6962_1891f' to './Sql689345_4/task' (errno: -1) 

我不知道为什么这个表会有这个问题:对于我们拥有的其他表,我们可以删除它们,并根据需要多次重新创建它们。有没有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2015-09-23 17:48:12

并非所有的阿鲁巴数据库都接受InnoDB表;请在控制面板内的“引擎”链接上验证INNODB是白色的(已启用)还是灰色的(未启用);如果您的数据库不支持InnoDB表,您可以免费请求支持InnoDB的新数据库,开具帮助单。

为了将表从MyIsam转换为InnoDB,使用ALTER TABLE命令并不是一个好的做法,我建议将您的表导出为一个.sql文件,创建一个具有所需结构和InnoDB引擎的新表,然后从.sql文件导入数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30869527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档