在 MySQL 中重命名表

Posted

技术标签:

【中文标题】在 MySQL 中重命名表【英文标题】:Rename a table in MySQL 【发布时间】:2012-09-20 22:48:15 【问题描述】:

重命名表在 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

该查询在我的其他表上运行良好,但不适用于group 表。

【问题讨论】:

here's the documentation 两个sql都是一样的。试试这个将表“组”重命名为成员 这很好地说明了对关键字使用全大写是多么没有意义。 不,它没有。全大写关键字提高了可读性,是预期的标准样式。 【参考方案1】:

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

RENAME TABLE `group` TO `member`;

添加(参见 cmets)- 这些不是单引号。

【讨论】:

是的,你需要反引号 ` 而不是单引号 ' 我根据习惯做了单引号,得到了错误,但也许这会为其他人节省 10 秒 某些关键字,例如 NAME 仍然可以不带反引号。我认为这种可用性是一种不好的做法,应该有一天会从 MySQL 中删除 或者不要对表格或列使用关键字。 请勿在表格或列中使用关键字。【参考方案2】:

请尝试

RENAME TABLE  `oldTableName` TO  `newTableName`

【讨论】:

请参阅the answer above,了解为什么应该考虑使用反引号。 @编码器【参考方案3】:

RENAME TABLE 语句的 MySQL 语法如下:

RENAME TABLE <old_table_name> TO <new_table_name>

在您的查询中,您使用了group,它是 MySQL 中的关键字之一。在创建表、字段名等时尽量避免使用 MySQL keywords

【讨论】:

【参考方案4】:
ALTER TABLE old_table_name RENAME new_table_name;

RENAME TABLE old_table_name TO new_table_name;

【讨论】:

【参考方案5】:

表名变化

RENAME TABLE old_table_name TO new_table_name;

【讨论】:

【参考方案6】:

重命名 MySQL 中的表:

ALTER TABLE current_name RENAME new_name;

【讨论】:

欢迎来到 SO。请阅读此how-to-answer 以提供高质量的答案。只显示代码不是一个好习惯。【参考方案7】:

group - 是 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`;

【讨论】:

【参考方案8】:
ALTER TABLE `group` RENAME `member`

group 是关键字,所以你必须把group 括起来

【讨论】:

【参考方案9】:

对于Mysql 5.6.18,使用以下命令

ALTER TABLE `old_table` RENAME TO `new_table`

此外,如果出现错误提示“.... 靠近 RENAME TO ...”,请尝试删除勾号 `

【讨论】:

【参考方案10】:
RENAME TABLE tb1 TO tb2;

tb1 - 当前表名。 tb2 - 您希望您的表被调用的名称。

【讨论】:

【参考方案11】:

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

所以这是最便携的方法:

ALTER TABLE `old_name` RENAME `new_name`;

【讨论】:

【参考方案12】:

试试这些

RENAME TABLE `group` TO `member`;

ALTER TABLE `group` RENAME `member`;

【讨论】:

【参考方案13】:

运行 Alter 命令

1.点击顶部的SQL标签。

2.在文本框中输入以下命令:ALTER TABLE exampletable RENAME TO new_table_name;

3.点击前往按钮。

来源:https://my.bluehost.com/hosting/help/2158

【讨论】:

【参考方案14】:

你可以使用

RENAME TABLE `group` TO `member`;

使用反引号 (`) 而不是单引号 (')。

【讨论】:

【参考方案15】:

重命名表 句法 在 MySQL 中重命名表的语法是:

ALTER TABLE table_name
RENAME TO new_table_name;

示例 让我们看一个示例,该示例显示如何使用 ALTER TABLE 语句重命名 MySQL 中的表。 或示例:

ALTER TABLE contacts
RENAME TO people;

【讨论】:

【参考方案16】:

如果不提供数据库名称,在我的情况下无法重命名表,我按照以下命令重命名表。

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

【讨论】:

【参考方案17】:

右击查看>新建查询

然后键入: EXEC sp_rename 'Table', 'NewName'

然后点击页面左上角的运行按钮。

【讨论】:

MySQL 不处理 SQL

以上是关于在 MySQL 中重命名表的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql中重命名数据库? [复制]

在 MySQL 中重命名外键列

在 MySQL 中重命名外键列

如何在 MySQL 中重命名模式

如何在 MySQL 的一个原子操作中重命名两个表

#1025 - mysql 中重命名错误(错误号:150)