ALTER TABLE - Bir sütunu yeniden adlandır


102

Bu beni deli ediyor!

Blogumdaki bir sütunu read-more'dan read_more'a yeniden adlandırmak istiyorum

Bunları denedim:

  ALTER TABLE blog RENAME COLUMN read-more to read_more;
  ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL;

Ve bunu hep alırım!

ERROR 1064 (42000): 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 'COLUMN read-more to read_more' at line 1

MySQL 5.5 kullanıyorum

Yanıtlar:


139

Geçerli sözdizimi ikinci denemenize yakın, ancak sütun adlarından tek tırnak işareti olmayan geri tepme işaretlerinden kaçmanız gerekir:

ALTER TABLE `blog` CHANGE COLUMN `read-more` `read_more` VARCHAR(255) NOT NULL;

18
ALTER TABLE `blog` CHANGE  `read-more` `read_more` VARCHAR(255) NOT NULL;

Yukarıda belirtilen sorgu doğrudur ve mysql veritabanı kullanıyorsanız "column" anahtar sözcüğünü kullanmanıza ve tablo ve sütun adının etrafına tırnak koymanıza gerek yoktur:

ALTER TABLE blog CHANGE read-more read_more VARCHAR(255) NOT NULL;

3

İşte benim için çalıştı ne:

ALTER TABLE vm_list CHANGE `vm_notes]` vm_notes VARCHAR(255); 

Query OK, 0 rows affected (0.01 sec) 
Records: 0  Duplicates: 0  Warnings: 0

Evet, bir şekilde orada "vm_notes]" adlı bir sütun var.

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.