0

データベースに、タイプが の列がありますdatetime。ユーザーが何かを変更するたびに、これが更新され、ユーザーがこの日時に Web サイトで何かを変更したことがわかります。

使用しているクエリは次のとおりです。

INSERT INTO Test(bunch columns, ChangedAt)  VALUES (bunch values, NOW())

数日後、テーブルを確認したところ、ChangedAt列に次の値を持つ行が1つありました。

2020-11-14 00:00:00

どうやってそれが得られたの2020ですか?なぜtime 00:00:00があるのか

ありがとう

4

1 に答える 1

0

考えられる理由は2つだけです。
コンピュータの日付が間違っていました... 00:00:00 になるのは偶然でしょう

または行がそのように更新/挿入されました。

MySQL は、次の形式の DATETIME および TIMESTAMP 値を認識します。

「YYYY-MM-DD HH:MM:SS」または「YY-MM-DD HH:MM:SS」形式の文字列として。ここでも「リラックスした」構文が許可されています。日付部分または時間部分の間の区切り文字として、任意の句読点を使用できます。たとえば、「2012-12-31 11:30:45」、「2012^12^31 11+30+45」、「2012/12/31 11*30*45」、および「2012@12@31 11」 ^30^45' は等価です。

'YYYYMMDDHHMMSS' または 'YYMMDDHHMMSS' 形式の区切り文字なしの文字列として、文字列が日付として意味がある場合。たとえば、'20070523091528' と '070523091528' は '2007-05-23 09:15:28' と解釈されますが、'071122129015' は不正 (無意味な分の部分がある) であり、'0000-00-00 00: 00:00'.

YYYYMMDDHHMMSS または YYMMDDHHMMSS 形式の数値として、数値が日付として意味がある場合。たとえば、19830905132800 と 830905132800 は「1983-09-05 13:28:00」と解釈されます。

ご覧のとおり..誤って別の値を挿入して挿入するのは難しいでしょう... 20201114000000 あなたの場合...

于 2013-02-01T22:51:37.823 に答える