【问题标题】:Rename a table in MySQL在 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 表。

【问题讨论】:

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

标签: mysql database table-rename


【解决方案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
                            猜你喜欢
                            • 1970-01-01
                            • 2015-07-26
                            • 2021-07-04
                            • 1970-01-01
                            • 1970-01-01
                            • 2011-05-30
                            • 2010-12-04
                            • 1970-01-01
                            相关资源
                            最近更新 更多