ALTER TABLE - Rinomina una colonna


102

Questo mi sta facendo impazzire!

Voglio rinominare una colonna da read-more a read_more nella mia tabella del blog

Ho provato tutto questo:

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

E ho sempre questo!

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

Sto usando MySQL 5.5

Risposte:


139

La sintassi valida è vicina al secondo tentativo, ma è necessario sfuggire ai nomi delle colonne con backtick non con virgolette singole:

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;

La query sopra menzionata è corretta e non è necessario utilizzare la parola chiave "colonna" e le virgolette attorno al nome della tabella e della colonna se si utilizza il database mysql:

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

3

Ecco cosa ha funzionato per me:

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

Sì, in qualche modo ho una colonna chiamata "vm_notes]".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.