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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.