Ça me rend dingue!
Je veux renommer une colonne de read-more en read_more dans ma table de blog
J'ai essayé tout ça:
ALTER TABLE blog RENAME COLUMN read-more to read_more;
ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL;
Et je comprends toujours ça!
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
J'utilise MySQL 5.5
La syntaxe valide est proche de votre deuxième essai, mais vous devez échapper les noms de colonne avec des astuces et non avec des guillemets simples:
ALTER TABLE `blog` CHANGE COLUMN `read-more` `read_more` VARCHAR(255) NOT NULL;
ALTER TABLE `blog` CHANGE `read-more` `read_more` VARCHAR(255) NOT NULL;
La requête mentionnée ci-dessus est correcte et il n'est pas nécessaire d'utiliser le mot-clé "colonne" et les guillemets autour du nom de la table et de la colonne si vous utilisez la base de données mysql:
ALTER TABLE blog CHANGE read-more read_more VARCHAR(255) NOT NULL;
Voici ce qui a fonctionné pour moi:
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
Oui, j'ai en quelque sorte une colonne nommée "vm_notes]" là-dedans.