質問: Update datetime 自分ではマニュアルの通りに入力しているつもりなのですが、どこか文法的におかしな箇所があるのでしょうか。ご教授お願い致します。 ### 該当のソースコード MySQL mysql> create table Thread(threadID int,threadName varchar(20),Original datetime,Update datetime); ### エラーメッセージ 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 'Update datetime)' at line 1 ### 試したこと create table Thread(threadID int,threadName varchar(20)); と入力すると、正しくテーブルが作成されますが、 データ型がdatetimeの項目を追加すると、エラーが発生します。 また、datetime型のデータ項目だけでテーブルを作成しても、エラーは発生しませんでした。
回答: `Update`はMySQLの予約語であるため、型名として使用する場合は以下のようにバッククォート(`)で囲む必要があります。 ``` create table Thread(threadID int,threadName varchar(20),Original datetime,`Update` datetime); ``` もっとも、型名やテーブル名に予約語を使うと、可読性を損なう上に SELECT や UPDATE の際に毎回バッククォートで囲んでやる必要があるため、よろしくありません。 別の名称に変更することをお勧めします。