ALTER TABLE - Перейменуйте стовпець


102

Це ганяє мене!

Я хочу перейменувати стовпчик з read-more на read_more у своїй таблиці блогу

Я все це спробував:

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

І я завжди отримую це!

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

Відповіді:


139

Дійсний синтаксис близький до вашої другої спроби, але вам потрібно уникати назв стовпців із зворотними посиланнями, а не з одинарними лапками:

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;

Вищезазначений запит правильний, і немає необхідності використовувати ключове слово "стовпчик" та цитати навколо назви таблиці та стовпців, якщо ви використовуєте базу даних mysql:

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

3

Ось що для мене спрацювало:

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

Так, я якось там стовпчик з назвою "vm_notes]".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.