如何在MySQL中重命名表和更改存储类型?

如何在MySQL中重命名表和更改存储类型?,mysql,types,rename,Mysql,Types,Rename,我首先创建一个表,该表被设置为在MyISAM引擎中存储数据。稍后,这个表将被新表替换,但我仍然不想保留这个表,只需重命名它并将其引擎类型更改为“存档”。我试过这个: ALTER TABLE myTable RENAME TO myTable-[DATE] ENGINE=archive; ALTER TABLE `test1` RENAME TO `myTable-[18-Aug-2015]`, ENGINE=archive; 我得到的错误是:“您的SQL语法有一个错误;请检查与您的MySQL

我首先创建一个表,该表被设置为在MyISAM引擎中存储数据。稍后,这个表将被新表替换,但我仍然不想保留这个表,只需重命名它并将其引擎类型更改为“存档”。我试过这个:

ALTER TABLE myTable RENAME TO myTable-[DATE] ENGINE=archive;
ALTER TABLE `test1` RENAME TO `myTable-[18-Aug-2015]`, ENGINE=archive;
我得到的错误是:“您的SQL语法有一个错误;请检查与您的MySQL服务器版本对应的手册,以了解在第1行(1064)(SQLExecDirectW)的“ENGINE=archive”附近使用的正确语法。”

那个么,如何在mysql中重命名并将表从MyISAM转换为归档引擎呢

Tnx如需帮助,请尝试以下方法:

ALTER TABLE myTable RENAME TO myTable-[DATE] ENGINE=archive;
ALTER TABLE `test1` RENAME TO `myTable-[18-Aug-2015]`, ENGINE=archive;

同时将新名称作为字符串传递。确保还包含逗号(,)在您需要的更改之间。

您有什么版本的MySQL?@hemnathmouli版本的MySQL是:5.5.37
ALTER TABLE myTable ENGINE=ARCHIVE;
尝试过这个方法?@hemnathmouli是的,可以工作,但是,您可以在一个sql语句中重命名和更改引擎类型吗?另外,您可以使用的免费express edition中的对象编辑器来完成。是的sss、tnx dude、upvote和10分钟后接受-因此规则:DWelcome to Stack Overflow。您的答案看起来可能是正确的(我目前无法测试),但是,我怀疑您不需要字符串和引擎之间的逗号?@martin“确保在您需要的更改之间也包含逗号(,)