日期时间值不正确:'1/1/0001 12:00:00 AM'表示Mysql中第1行的'call_time'列

时间:2014-03-06 08:20:31

标签: mysql datetime

我的表中有一个名为call_time的列,其中mysql中的数据类型为DATETIME。我正在尝试将1/1/0001 12:00:00 AM插入到call_time列中但是会出现以下错误..

Incorrect datetime value: '1/1/0001 12:00:00 AM' for column 'call_time' at row 1 

这是我的完整查询字符串..

insert into outcall values('0117','509','02240576000','','1/1/0001 12:00:00 AM','07:1','7')

请帮帮我..

4 个答案:

答案 0 :(得分:0)

要插入日期和时间,您必须使用ISO日期格式:

insert into outcall values('0117','509','02240576000','','0001-01-01 00:00:00','07:1','7')

如果您想使用其他格式,请使用STR_TO_DATE功能:

STR_TO_DATE("1/1/0001 12:00:00 AM", "%c/%e/%Y %r")

答案 1 :(得分:0)

您正在插入mysql不支持的日期,DATETIME支持的数据类型范围为1000-01-01 00:00:009999-12-31 23:59:59

答案 2 :(得分:0)

https://dev.mysql.com/doc/refman/5.0/en/datetime.html

上的每个MySQL文档
  

DATETIME类型...支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

此范围之外允许的唯一值是值0000-00-00 00:00:00

您的值1/1/0001 12:00:00 AM超出此范围

答案 3 :(得分:0)

根据documentation

  

DATETIME类型用于包含日期和时间部分的值。 MySQL以'YYYY-MM-DD HH:MM:SS'格式检索并显示DATETIME值。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

这意味着您只是尝试在数据库中插入过早的日期。试试

insert into outcall values('0117','509','02240576000','','1000-01-01 12:00:00 AM','07:1','7')