我需要按照这样的零点存储日期,在我的localhost服务器中一切都很好,但是当我上传到我的主机时我收到错误,如果想将零保存到数据库中。怎么解决这个问题?
答案 0 :(得分:0)
试试这个
insert into <TableName>(<DateTimeField>) values('');
答案 1 :(得分:0)
在MySQL中DATE
字段有限[1]:
DATE类型用于具有日期部分但没有时间部分的值。 MySQL以'YYYY-MM-DD'格式检索并显示DATE值。支持的范围是'1000-01-01'到'9999-12-31'。
使用严格模式MySQL会在插入无效日期时导致错误:
自5.0.2起,服务器要求月和日值合法,而不仅仅分别在1到12和1到31的范围内。禁用严格模式后,“2004-04-31”等无效日期将转换为“0000-00-00”,并生成警告。启用严格模式后,无效日期会生成错误。
虽然应允许值0000-00-00
:
从MySQL 5.0.2开始,MySQL不接受在日期或月份列中包含零的TIMESTAMP值或不是有效日期的值。此规则的唯一例外是特殊的“零”值'0000-00-00 00:00:00'。
如果你没有在你的问题中输入拼写错误并且你真的插入了值000-00-00
,那么你的服务器上可能会收到警告(无声地丢弃或存储在日志中的某个地方)但是在生产中你已经启用了严格的模式因为它是无效的日期字符串,你会得到错误。