web-dev-qa-db-ja.com

mysqlタイムスタンプフィールドにカスタム日付を挿入する方法は?

私は次の2つの方法を使用してmysqlタイムスタンプフィールドにフォーマットされた日付と時刻の文字列を挿入しようとしましたが、両方とも0000-00-00 00:00:00を表示します

INSERT INTO test VALUES ( UNIX_TIMESTAMP('2013-08-05 18:19:03') )
INSERT INTO test VALUES ( UNIX_TIMESTAMP(STR_TO_DATE('2013-08-05 18:19:03', '%Y-%m-%d %H:%i:%s')) )

私は最初のものが期待どおりに動作するはずですが、なぜ日付と時刻を解析しないのか分かりませんか?

25
Maximus

問題は、フィールドがTIMESTAMPとして定義されているが、_UNIX_TIMESTAMP_がintを返すことです。代わりにINSERT INTO test VALUES ('2013-08-05 18:19:03' )を使用してください。

32
SaganRitual