2016-11-02 9 views
0

私は似たような質問を繰り返してきましたが、すべてデフォルトのCURRENT_TIMESTAMPとDATETIMEフィールドを使用しようとしているようです。TIMESTAMPフィールドのCURRENT_TIMESTAMPデフォルト値のmysql 5.6.3問題

CURRENT_TIMESTAMPのデフォルトで、私が理解できるTIMESTAMPフィールドがサポートされているとの問題があります。

私はMySQL 5.6.3コミュニティ版を使用しています。ここに私のテーブル作成コードの一部抜粋です:

CREATE TABLE IF NOT EXISTS `my_table` (
`master_id` INT(10) NOT NULL AUTO_INCREMENT , 
`template_id` INT(10) NULL, 
`def_id` INT(10) NOT NULL, 
'override` TINYINT(1) NULL, 
`last_update` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ... 

このエラーが出:「LAST_UPDATE」

ため

無効なデフォルト値任意のアイデアはなぜですか?

+0

ファイルを 'last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP'と定義して、やり直してください。私は5.7でこれをテストしたので、5.6で動作するかどうかはわかりませんでした(したがってコメント)。 – Mjh

+0

レコードの場合は、バックティックではありません。コピー/ペーストの問題です。私は実際のステートメントで正しい引用符を使用しました。 – user3908134

+0

上記のフィールドをNOT NULLなしで定義することは役に立ちません。 – user3908134

答えて

1

答えを見つけました。 (ない私)

誰かは、MySQLのmy.cnfに次のように設定していた:この設定を削除する= 1

explicit_default_for_timestamp

は、問題を解決しました。

関連する問題