質問: ### 前提・実現したいこと コマンドプロンプトでerrorとなってしまいます。 よろしくお願いいたします。 (.sqlでメモ帳に保存したものを外部ファイルに実行しています。) ### 発生している問題・エラーメッセージ ``` エラーメッセージ ``` ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma nual that corresponds to your MySQL server version for the right syntax to use n ear 'table' at line 1 ### 該当のソースコード drop database if exists table; create database if not exists table; use table; create table nadeshiko( item_id int primary key auto_increment, item_name varchar(100), item_category varchar(50), purchase_price float, rental_price float, overview text, size varchar(50), img_address001 text, img_address002 text, img_address003 text, delete_flg boolean default FALSE TRUEで削除, company_name varchar(100), store_name varchar(100), stock_information int, stock_number int, registration_date datetime 初回のみ, updated_date datetime ); ### 試したこと 課題に対してアプローチしたことを記載してください ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答: TableはMySQLにおいて予約語となっていますので使えません。 tなど別の名前をつけてあげれば問題ありません **7/27追記** どうしても予約語を使いたいときは`(バッククォート)で囲めば予約語でも使えるようです。 '(シングルクォート)と混同しないように注意してください。 ただし全てのSQL文でバッククォートが必要になるためそこはケースバイケースですね。 またdelete_flg,registration_dateの箇所にTRUEで削除とコメントがありますが、 このままでは文法エラーになってしまいますので、 ``` COMMENT 'TRUEで削除' ``` と記述すれば動くはずです。 一応私の環境ではコマンドプロンプト上で実行できました。 参考 MySQLの予約語