web-dev-qa-db-ja.com

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を使用しています

105
Bojan

有効な構文は2回目の試行に近いですが、列名を単一引用符ではなくバッククォートでエスケープする必要があります。

ALTER TABLE `blog` CHANGE COLUMN `read-more` `read_more` VARCHAR(255) NOT NULL;
141
GhostGambler
ALTER TABLE `blog` CHANGE  `read-more` `read_more` VARCHAR(255) NOT NULL;

上記のクエリは正しく、mysqlデータベースを使用している場合は、「column」キーワードを使用したり、テーブルと列の名前を引用符で囲んだりする必要はありません。

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

これが私のために働いたものです:

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]」という名前の列がありました。

3
Boris Epstein