質問: ### 前提・実現したいこと MySQLでorderテーブルを作ろうとしてるんですが、構文エラーが出てしまいます。 ご教示いただけませんか? ### 該当のソースコード ``` mysql> create table order (date int(5), order_no varchar(5), num int(3) ); 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 'order (date int(5), order_no varchar(5), num int(3) )' at line 1 ```
回答: `order` は予約後なので、そのままでは利用できないキーワードです。 `SELECT * FROM table WHERE deleteFlag = 0 ORDER BY id ASC` のように使うものですから。 テーブル名にはそういった予約後を極力避けるほうが、余計なバグを防ぐことができます。可能なら、別の名前をつけたほうが良いと思います。どうしてもその `order` 出なくてはならないのであれば、 ``` CREATE TABLE `order` ~ ``` のように ``(バッククォート)`で囲むことで利用できます。