重命名MySQL中的表


285

重命名表在MySQL中不起作用

RENAME TABLE group TO member;

错误消息是

#1064 - 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 'group 
        RENAME TO member' at line 1

该查询对我来说可以在其他表上正常工作,但不能与table一起工作group



3
两个sql是相同的。尝试将此重命名表“组”重命名为成员
user1406062 2012年

5
这很好地说明了使用大写字母作为关键字是毫无意义的。
Martin Jambon 2014年

8
不,不是的。大写字母关键字可提高可读性,是标准样式。
换行

Answers:


474

group是MySQL中的一个关键字(GROUP BY的一部分),您需要用反引号将其括起来,以向MySQL显示您希望将其解释为表名:

RENAME TABLE `group` TO `member`;

添加(请参阅注释)-这些不是单引号。


51
是的,您需要反引号`而不是单引号'我是从习惯上单引号,并得到了错误,但这也许可以为其他人节省10秒钟
Paul

某些关键字(例如NAME)仍然可用,没有反勾号。我认为这种可用性是一种不好的做法,应在一天之内从MySQL中删除
ad4s 16-10-19

2
或不要为表或列使用关键字。
jDub9

1
请勿在表或列中使用关键字。
mydoglixu


31

重命名表的mysql查询是

Rename Table old_name TO new_name

在查询中,您使用了MySQL关键字之一。创建表,字段名称等时,请尽量避免使用mysql关键字作为名称。




16

表名变更

RENAME TABLE old_table_name TO new_table_name;

14

组-在MySQL中是保留字,这就是为什么您看到这样的错误。

#1064 - 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 'group 
        RENAME TO member' at line 1

您需要将表名称包装到反引号中

RENAME TABLE `group` TO `member`;

13
ALTER TABLE `group` RENAME `member`

group是关键字,因此您必须将其括起来 group


9
RENAME TABLE tb1 TO tb2;

tb1-当前表名。tb2-您要调用表的名称。


8

根据mysql docs:“重命名TEMPORARY表,RENAME TABLE不起作用。请ALTER TABLE改用。”

因此,这是最可移植的方法:

ALTER TABLE `old_name` RENAME `new_name`;


2

对于Mysql 5.6.18使用下面的命令

ALTER TABLE `old_table` RENAME TO `new_table`

另外,如果出现错误消息“ ....在RENAME TO ...附近”,请尝试删除刻度线 `




-1

如果不提供数据库名称,则无法重命名该表,我按照以下命令重命名了该表。

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

右键单击视图>新建查询

并输入:EXEC sp_rename'Table','NewName'

然后单击页面左上角的“运行”按钮。


MySQL无法处理SQL
Adam Joseph Looze
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.