我的表中有一个名为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')
请帮帮我..
答案 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:00
到9999-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)
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')