ALTER TABLE - переименовать столбец
Это сводит меня с ума!
Я хочу переименовать столбец из 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
3 ответа
112
Допустимый синтаксис близок к вашей второй попытке, но вам нужно избегать имен столбцов с обратными кавычками не с одинарными кавычками:
ALTER TABLE `blog` CHANGE COLUMN `read-more` `read_more` VARCHAR(255) NOT NULL;
ответил GhostGambler 29 MarpmSat, 29 Mar 2014 14:16:03 +04002014-03-29T14:16:03+04:0002 2014, 14:16:03
13
ALTER TABLE `blog` CHANGE `read-more` `read_more` VARCHAR(255) NOT NULL;
Вышеупомянутый запрос правильный, и нет необходимости использовать ключевое слово «column» и цитаты вокруг имени таблицы и столбца, если вы используете базу данных mysql:
ALTER TABLE blog CHANGE read-more read_more VARCHAR(255) NOT NULL;
ответил rahul 2 TueEurope/Moscow2014-12-02T12:41:47+03:00Europe/Moscow12bEurope/MoscowTue, 02 Dec 2014 12:41:47 +0300 2014, 12:41:47
1
Вот что сработало для меня:
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».
ответил Boris Epstein 9 WedEurope/Moscow2015-12-09T22:50:02+03:00Europe/Moscow12bEurope/MoscowWed, 09 Dec 2015 22:50:02 +0300 2015, 22:50:02