1

我的代码中有一个非常随机的错误,但无法弄清楚。我正在根据当前日期将数据插入 MySQL 数据库并使用以下语句;

INSERT INTO table VALUES (NULL,495297,str_to_date('19/01/2013 10:55:25','%d/%m/%y'),'English - UK',1,Str_to_date('17/01/2013','%d/%m/%y'),str_to_date('18/01/2013','%d/%m/%y'))

由于某种原因,没有一个日期可以作为 19/01/2013,它变成 19/01/2020,下一个变成 17/01/2020 和 18/01/2020!后两个日期在数据类型中列为日期,而第一个日期是日期时间,所以我不知道为什么会发生这个奇怪的问题。

任何帮助将不胜感激。

谢谢莫迪丝

4

1 回答 1

1

使用大写字母%Y作为年份的标识符:

INSERT INTO table VALUES (NULL,495297,str_to_date('19/01/2013 10:55:25','%d/%m/%Y'),'English - UK',1,Str_to_date('17/01/2013','%d/%m/%Y'),str_to_date('18/01/2013','%d/%m/%Y'))

小写%y指定由两位数给出的年份(请参阅此处此处的 MySQL 文档)。然而,大写字母%Y是四位数的版本。

于 2013-01-19T11:17:46.913 回答