【MySQL】予約語でハマる。テーブル操作をしたときにエラーになる

以下の記事を参考

 

あるプログラマの千鳥足跡:MySQLで、予約語をカラム名に使うときは
あまりネットに載っていないようなことを書きます

以下だとエラーになる

ALTER TABLE test_master MODIFY COLUMN group varchar(200);

MariaDB []> alter table test_master modify group varchar(200);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘group varchar(200)’ at line 1

ちなみに以下だとエラーにならない

ALTER TABLE test_master MODIFY COLUMN memo varchar(200);

 

両者の違いは予約語を使っているかどうか

カラム名に予約語を使うのは避けたほうがよいのだが、すでに使っている場合もあると思うのでその対処として以下のように予約語をバッククォートでくくって記述する

ALTER TABLE test_master MODIFY COLUMN `group` varchar(200);

 

コメント

タイトルとURLをコピーしました