MySQL - 重命名数据库
MySQL - Renaming database
使用 PHPMyAdmin 版本 4.5.2 和 SQL 5.7.9。
我有一个名为 'name' 的数据库,其中有 3 个 tables 'one' 'three' 'two' 按特定顺序升序排列。
现在,当我在 PHPMyAdmin 中使用“操作”>“重命名数据库”功能并将新名称设置为 'newname' 时,它会重命名。
我查看控制台以查看它使用的是什么命令:
RENAME TABLE `name`.`two`
TO `newname`.`two`;
DROP DATABASE `name`;
我需要的是有人来解释这些命令,它是怎么做到的?我只看到它提到 table 'two' 但它成功地复制了所有这些(一、三、二)
我想知道,因为这只是一个简单的例子,我将需要在一个更复杂的数据库中使用这些命令(不使用操作>重命名数据库),这些数据库会填充各种不同的 tables.
编辑:
RENAME TABLE `newname`.`two`
TO `name`.`two`;
RENAME TABLE `newname`.`one`
TO `name`.`one`;
RENAME TABLE `newname`.`three`
TO `name`.`three`;
DROP DATABASE `newname`;
产生错误:
#1025 - Error on rename of '.\newname\two' to '.\name\two' (errno: 168 - Unknown (generic) error from engine)
控制台可能没有记录所有命令,因为您指定形式的 rename table
命令仅将一个 table 从源数据库移动到目标。尝试自己手动发出 2 个命令,您会明白我的意思。
您可以使用 rename table 重命名多个 table 并通过提供要重命名的 table 列表将它们移动到不同的数据库:
RENAME TABLE tbl_name TO new_tbl_name
[, tbl_name2 TO new_tbl_name2] ...
使用 PHPMyAdmin 版本 4.5.2 和 SQL 5.7.9。 我有一个名为 'name' 的数据库,其中有 3 个 tables 'one' 'three' 'two' 按特定顺序升序排列。 现在,当我在 PHPMyAdmin 中使用“操作”>“重命名数据库”功能并将新名称设置为 'newname' 时,它会重命名。 我查看控制台以查看它使用的是什么命令:
RENAME TABLE `name`.`two`
TO `newname`.`two`;
DROP DATABASE `name`;
我需要的是有人来解释这些命令,它是怎么做到的?我只看到它提到 table 'two' 但它成功地复制了所有这些(一、三、二) 我想知道,因为这只是一个简单的例子,我将需要在一个更复杂的数据库中使用这些命令(不使用操作>重命名数据库),这些数据库会填充各种不同的 tables.
编辑:
RENAME TABLE `newname`.`two`
TO `name`.`two`;
RENAME TABLE `newname`.`one`
TO `name`.`one`;
RENAME TABLE `newname`.`three`
TO `name`.`three`;
DROP DATABASE `newname`;
产生错误:
#1025 - Error on rename of '.\newname\two' to '.\name\two' (errno: 168 - Unknown (generic) error from engine)
控制台可能没有记录所有命令,因为您指定形式的 rename table
命令仅将一个 table 从源数据库移动到目标。尝试自己手动发出 2 个命令,您会明白我的意思。
您可以使用 rename table 重命名多个 table 并通过提供要重命名的 table 列表将它们移动到不同的数据库:
RENAME TABLE tbl_name TO new_tbl_name
[, tbl_name2 TO new_tbl_name2] ...