Mysql重命名数据库不起作用

时间:2014-09-30 12:59:50

标签: mysql sql

无法使用以下查询重命名数据库。我正在使用mysql2

RENAME DATABASE a to b;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database a to b' at line 1

我是mysql的新手。什么是正确的语法?

2 个答案:

答案 0 :(得分:1)

该命令已删除,请参阅 - dev.mysql.com/doc/refman/5.1/en/rename-database.html。请改用ALTER DATABASE。

答案 1 :(得分:0)

我认为您应该创建一个新数据库并重命名这些表,以便它们位于新数据库中,之后可以删除旧数据库。

在此处查找更多内容:https://blog.marceloaltmann.com/how-to-rename-a-database-in-mysql/

但基本上是这样的:

CREATE DATABASE my_new_database;
RENAME TABLE my_old_database.tbl_name TO my_new_database.tbl_name;
DROP DATABASE my_old_database;

使用上面链接中的脚本将允许您使用所有表格,因此几乎可以自动完成。

(我的意思是:SELECT CONCAT('RENAME TABLE ', GROUP_CONCAT( table_schema,'.',table_name, ' TO ','new_schema.',table_name,' '),';') as stmt FROM information_schema.TABLES WHERE table_schema LIKE 'oldSchema' GROUP BY table_schema