2016-05-10 20 views
0

新しい属性date1を挿入してテーブルを変更しようとしましたが、そこでは各エントリの日付がテーブルに自動的に設定されます。私は、クエリMYSQL alter table current_timeデフォルトエラー

ALTER TABLE `vessellist` ADD `date1` DATE NOT NULL DEFAULT CURRENT_TIMESTAMP FIRST; 

を挿入すると

これは、日付1

+0

のデフォルトのフィールド値が制限されている、とMySQLのバージョンによって異なりとしてCURRENT_TIMESTAMPを使用できるデータ型のデフォルトとしてCURRENT_TIMESTAMPを指定することができるということです。以前のバージョンでは、TIMESTAMPフィールドだけがそれを使用できると信じていました。より最近のoncesで、私はDATETIMEもできると思う; DATEができるかどうかはわかりません。 – Uueerdo

+0

ありがとうございます。今分かります。データ型を変更しましたが、エラーはありません –

答えて

0

に無効なデフォルト値はDEFAULT句は、カラムのデフォルト値を指定すると言います。 1つの例外を除き、デフォルト値は定数でなければなりません。関数または式にすることはできません。これは、たとえば、日付列のデフォルトをNOW()やCURRENT_DATEなどの関数の値に設定できないことを意味します。例外は、TIMESTAMP列

http://dev.mysql.com/doc/refman/5.5/en/create-table.html

関連する問題