MySQL'de tabloyu yeniden adlandırma


285

Bir tabloyu yeniden adlandırmak MySQL'de çalışmıyor

RENAME TABLE group TO member;

Hata mesajı:

#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

Sorgu benim için diğer tablolarda iyi çalışıyor, ama tablo ile değil group.



3
Her iki sql aynıdır. Üye olarak bu 'grup' tablosunu yeniden adlandırın
user1406062

5
Bu, anahtar kelimeler için all-caps kullanmanın ne kadar anlamsız olduğunu güzel bir şekilde göstermektedir.
Martin Jambon

8
Hayır. Tümü büyük harf olan anahtar kelimeler okunabilirliği artırır ve beklenen standart stildir.
fmalina

Yanıtlar:


474

groupMySQL içindeki bir anahtar kelimedir ( GROUP BY'ın bir parçasıdır ), MySQL'e tablo adı olarak yorumlanmasını istediğinizi göstermek için onu backticks ile çevrelemeniz gerekir:

RENAME TABLE `group` TO `member`;

added (yorumlara bakın) - Bunlar tek tırnak değildir.


51
Ve evet, tek bir alıntıya değil, geri işarete ihtiyacınız var Alışkanlıktan tek alıntı yaptım ve hatayı aldım, ama belki bu başka birini 10 saniye kurtaracak
Paul

NAME gibi bazı anahtar kelimeler hala geri keneler olmadan kullanılabilir. Bu kullanılabilirlik,
MySQL'den

2
Veya tablolar veya sütunlar için anahtar kelimeler kullanmayın.
jDub9

1
ANAHTARLAR VE SÜTUNLAR İÇİN ANAHTAR KELİMELER KULLANMAYIN.
mydoglixu


31

Yeniden adlandırma tablosu için mysql sorgusu

Rename Table old_name TO new_name

Sorgunuzda, MySQL'deki anahtar kelimelerden birini içeren grubu kullandınız. Tablo, alan adı vb. Oluştururken ad için mysql anahtar kelimelerinden kaçının.


23
ALTER TABLE old_table_name RENAME new_table_name;

veya

RENAME TABLE old_table_name TO new_table_name;

19

MySQL'de bir tabloyu yeniden adlandırma:

ALTER TABLE current_name RENAME new_name;

5
SO hoş geldiniz. Kaliteli cevap sağlamak için lütfen bu nasıl yanıtlanacağını okuyun. Sadece kodu göster iyi bir uygulama değildir.
17'de

16

Tablo adı değişikliği

RENAME TABLE old_table_name TO new_table_name;

14

grup - MySQL'de ayrılmış bir kelimedir, bu yüzden böyle bir hata görüyorsunuz.

#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

Tablo adını ters tırnaklara sarmanız gerekir :

RENAME TABLE `group` TO `member`;

13
ALTER TABLE `group` RENAME `member`

grup anahtar kelime olduğundan, içine yerleştirmeniz gerekir group


9
RENAME TABLE tb1 TO tb2;

tb1 - geçerli tablo adı. tb2 - tablonuzun çağrılmasını istediğiniz ad.


8

Mysql belgelerine göre : " TEMPORARYtabloları yeniden adlandırmak , RENAME TABLEçalışmıyor. ALTER TABLEBunun yerine kullanın ."

Yani bu en taşınabilir yöntem:

ALTER TABLE `old_name` RENAME `new_name`;

6

Bunlardan herhangi birini deneyin

RENAME TABLE `group` TO `member`;

veya

ALTER TABLE `group` RENAME `member`;

2

İçin Mysql 5.6.18kullanım Aşağıdaki komut

ALTER TABLE `old_table` RENAME TO `new_table`

Ayrıca, ".... RENAME TO ..." yakınında bir hata varsa, onay işaretini kaldırmayı deneyin `



1

Kullanabilirsiniz

RENAME TABLE `group` TO `member`;

Tek tırnak işareti (') yerine geri işareti (`) kullanın.


-1

Veritabanı adı verilmeden tablo benim durumumda yeniden adlandırılamaz, tabloyu yeniden adlandırmak için aşağıdaki komutu izledim.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

Görünüm> Yeni Sorgu'ya sağ tıklayın

Ve Tür: EXEC sp_rename 'Tablo', 'YeniAd'

Ardından, sayfanın sol üst köşesindeki Çalıştır düğmesini tıklayın.


MySQL Transact SQL değil
Adam Joseph Looze
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.