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

クエリは他のテーブルでは正常に機能していますが、テーブルでは機能しませんgroup



3
両方のSQLは同じです。この名前変更テーブル「グループ」をメンバーに
user1406062

5
これは、キーワードにすべて大文字を使用することがいかに無意味であるかをうまく示しています。
マーティンジャンボン2014

8
いいえ、違います。すべて大文字のキーワードは読みやすさを向上させ、標準的なスタイルが期待されます。
改行

回答:


474

groupMySQLのキーワード(GROUP BYの一部)です。MySQLがテーブル名として解釈されるようにするには、それをバッククォートで囲む必要があります。

RENAME TABLE `group` TO `member`;

追加(コメントを参照)-それらは一重引用符ではありません。


51
そして、はい、バッククォートが必要です。シングルクォートは必要ありません。癖からシングルクォートを実行してエラーが発生しましたが、これにより他の人が10秒節約される可能性があります
Paul

NAMEなどの一部のキーワードは、バックティックなしでも引き続き使用できます。この可用性は悪い習慣だと思うので、MySQLから1日削除する必要があります
ad4s

2
または、テーブルや列にキーワードを使用しないでください。
jDub9 2018

1
テーブルや列にはキーワードを使用しないでください。
mydoglixu


31

名前変更テーブルのmysqlクエリは

Rename Table old_name TO new_name

クエリでは、MySQLのキーワードの1つであるgroupを使用しました。テーブルやフィールド名などを作成するときは、名前にmysqlキーワードを使用しないようにしてください。





14

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

13
ALTER TABLE `group` RENAME `member`

グループはキーワードなので、次のように囲む必要があります 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

Alterコマンドの実行

1. 上部の[ SQL ]タブをクリックします

2.テキストボックスに次のコマンドを入力します。 ALTER TABLE exampletable RENAME TO new_table_name;

3.移動ボタンをクリックします。

ソース:https : //my.bluehost.com/hosting/help/2158



-1

私の場合、データベース名を指定せずにテーブルの名前を変更することはできません。以下のコマンドに従ってテーブルの名前を変更しました。

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

ビューを右クリック>新しいクエリ

そしてタイプ:EXEC sp_rename 'Table'、 'NewName'

次に、ページの左上隅にある[実行]ボタンをクリックします。


MySQLはTransact SQLではありません
Adam Joseph Looze
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.