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.



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.


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


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.


23
ALTER TABLE old_table_name RENAME new_table_name;

atau

RENAME TABLE old_table_name TO new_table_name;

19

Ganti nama tabel di MySQL:

ALTER TABLE current_name RENAME new_name;

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;

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

13
ALTER TABLE `group` RENAME `member`

grup adalah kata kunci sehingga Anda harus menyertakannya group


9
RENAME TABLE tb1 TO tb2;

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


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

6

Coba semua ini

RENAME TABLE `group` TO `member`;

atau

ALTER TABLE `group` RENAME `member`;

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 `



1

Kamu bisa memakai

RENAME TABLE `group` TO `member`;

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


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

-6

Klik kanan pada View> Query Baru

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

Kemudian Klik tombol Jalankan di sudut kiri atas halaman.


MySQL tidak Transact SQL
Adam Joseph Looze
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.