Ganti nama tabel di MySQL

285

Mengganti nama tabel tidak berfungsi di MySQL

RENAME TABLE group TO member;

Pesan kesalahannya adalah

#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

Kueri berfungsi dengan baik pada tabel lain untuk saya, tetapi tidak dengan tabel group.

Anil Olakkal
sumber
3
Kedua sql itu sama. Coba
ubah
5
Ini menggambarkan dengan baik betapa tidak bergunanya menggunakan all-caps untuk kata kunci.
Martin Jambon
8
Tidak. Kata kunci semua-huruf meningkatkan keterbacaan dan diharapkan gaya standar.
fmalina

Jawaban:

474

groupadalah kata kunci (bagian dari GROUP BY ) di MySQL, Anda harus mengelilinginya dengan backticks untuk memperlihatkan MySQL yang Anda inginkan diterjemahkan sebagai nama tabel:

RENAME TABLE `group` TO `member`;

ditambahkan (lihat komentar) - Itu bukan tanda kutip tunggal.

Joachim Isaksson
sumber
51
Dan ya Anda membutuhkan tanda centang belakang `dan bukan kutipan tunggal 'Saya melakukan kutipan tunggal dari kebiasaan, dan mendapatkan kesalahan, tetapi mungkin ini akan menyelamatkan orang lain 10 detik
Paul
Beberapa kata kunci, seperti NAME masih tersedia tanpa tanda centang. Saya pikir ketersediaan ini adalah praktik yang buruk, yang harus dihapus satu hari dari MySQL
ad4s
2
Atau jangan gunakan kata kunci untuk tabel atau kolom.
jDub9
1
JANGAN GUNAKAN KATA KUNCI UNTUK TABEL ATAU KOLOM.
mydoglixu
128

Silakan dicoba

RENAME TABLE  `oldTableName` TO  `newTableName`
Vijay Verma
sumber
Lihat jawaban di atas untuk alasan mengapa Anda harus mempertimbangkan menggunakan backticks. @coder
LinusGeffarth
31

Permintaan mysql untuk mengganti nama tabel adalah

Rename Table old_name TO new_name

Dalam kueri Anda, Anda telah menggunakan grup kata kunci yang mana di MySQL. Cobalah untuk menghindari kata kunci mysql untuk nama saat membuat tabel, nama bidang dan sebagainya.

situs web telpon
sumber
23
ALTER TABLE old_table_name RENAME new_table_name;

atau

RENAME TABLE old_table_name TO new_table_name;
Neeraj Kumar
sumber
19

Ganti nama tabel di MySQL:

ALTER TABLE current_name RENAME new_name;
Hasib Kamal
sumber
5
Selamat datang di SO. Baca cara-jawaban ini untuk memberikan jawaban berkualitas. Hanya menunjukkan kode bukan praktik yang baik.
thewaywewere
16

Perubahan nama tabel

RENAME TABLE old_table_name TO new_table_name;
AA Noman
sumber
14

grup - adalah kata yang disediakan di MySQL, itu sebabnya Anda melihat kesalahan tersebut.

#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

Anda perlu membungkus nama tabel menjadi backticks :

RENAME TABLE `group` TO `member`;
Boris
sumber
13
ALTER TABLE `group` RENAME `member`

grup adalah kata kunci sehingga Anda harus menyertakannya group

umar_
sumber
9
RENAME TABLE tb1 TO tb2;

tb1 - nama tabel saat ini. tb2 - nama yang Anda inginkan tabel Anda dipanggil.

Koech
sumber
8

Menurut dokumen mysql : "untuk mengganti nama TEMPORARYtabel, RENAME TABLEtidak berfungsi. Gunakan ALTER TABLEsaja."

Jadi ini adalah metode yang paling portabel:

ALTER TABLE `old_name` RENAME `new_name`;
pengguna2426679
sumber
6

Coba semua ini

RENAME TABLE `group` TO `member`;

atau

ALTER TABLE `group` RENAME `member`;
Mohammed Shafeek
sumber
2

Untuk Mysql 5.6.18menggunakan perintah berikut

ALTER TABLE `old_table` RENAME TO `new_table`

Juga jika ada kesalahan yang mengatakan ".... dekat RENAME TO ..." coba hapus centang `

HA S
sumber
1

Menjalankan Perintah Alter

1. Klik tab SQL di bagian atas.

2. Pada kotak teks masukkan perintah berikut: ALTER TABLE exampletable RENAME TO new_table_name;

3. Klik tombol pergi.

sumber: https://my.bluehost.com/hosting/help/2158

rasa ingin tahu
sumber
1

Kamu bisa memakai

RENAME TABLE `group` TO `member`;

Gunakan tanda centang kembali (`) alih-alih kutipan tunggal (').

Sodrul Amin Shaon
sumber
-1

Tanpa memberikan nama database, tabel tidak dapat diubah namanya dalam kasus saya, saya mengikuti perintah di bawah ini untuk mengganti nama tabel.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;
Wisnuvardhan
sumber
-6

Klik kanan pada View> Query Baru

Dan Ketik: EXEC sp_rename 'Table', 'NewName'

Kemudian Klik tombol Jalankan di sudut kiri atas halaman.

Loai Tayem
sumber
MySQL tidak Transact SQL
Adam Joseph Looze