MySQL损坏日期插入NOW()

时间:2013-02-01 22:36:52

标签: php mysql datetime

我在数据库中有一个类型为datetime的列。每次用户更改内容时都会更新,以注意用户在此日期/时间更改了网站上的内容。

我正在使用的查询是:

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

现在,经过几天我检查了表格,ChangedAt列中有一行具有此值:

2020-11-14 00:00:00

任何想法如何得到2020?以及time 00:00:00

的原因

感谢

1 个答案:

答案 0 :(得分:0)

只有两个可能的原因 计算机日期是错误的...这将是一个巧合得到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在你的情况下......