Mysql

ALTER TABLE - 重命名列

  • January 27, 2018

這讓我發瘋!

我想在我的部落格表中將一列從 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

有效語法接近您的第二次嘗試,但您需要使用反引號而不是單引號來轉義列名:

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;

上述查詢是正確的,如果您使用的是 mysql 數據庫,則無需在表和列名周圍使用“列”關鍵字和引號:

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

引用自:https://dba.stackexchange.com/questions/62051