日期时间值不正确:';0001年1月1日上午12:00:00';对于列';呼叫时间';在Mysql的第1行

日期时间值不正确:';0001年1月1日上午12:00:00';对于列';呼叫时间';在Mysql的第1行,mysql,datetime,Mysql,Datetime,我的表中有一个名为call\u-time的列,它在mysql中的数据类型为DATETIME。现在我试图将1/1/0001 12:00:00 am插入call\u-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/

我的表中有一个名为
call\u-time
的列,它在mysql中的数据类型为
DATETIME
。现在我试图将
1/1/0001 12:00:00 am
插入call\u-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')

请帮助我。

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

insert into outcall values('0117','509','02240576000','','0001-01-01 00:00:00','07:1','7')
如果要使用其他格式,请使用函数:

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

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

日期时间类型。。。支持的范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59”

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

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

依据:

DATETIME类型用于同时包含日期和时间部分的值。MySQL以“YYYY-MM-DD HH:MM:SS”格式检索并显示日期时间值。支持的范围为“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')

您是否尝试过
0001-01-01 00:00:00
?@BartFriederichs这正在执行..我该怎么做才能插入到我提到的格式中使用
STR_to_DATE
;请看我的答案。mysql接受一堆非ISO格式。这是一个范围问题,这里。@artragis不,不是。我试过了,很好。MySQL 5.5.35这很奇怪。我的MySQL 5.5.35很好地接受了这个日期。