[英]Data truncation: Incorrect datetime value: 'null' in Java
我有一个以下查询,使用java将数据插入到mysql中。
它给了我这个错误
Data truncation: Incorrect datetime value: 'null' for column 'lastEventTime' at row 1
lastEventTime
设置为可为空的datetime
类型,默认为NULL
。 不幸的是,当我在phpmyadmin中运行相同的查询时,它接受并将数据插入到表中。 那么java的解决方案是什么?
我的零件代码如下。
单引号( '
)表示字符串文字。 在这里,您并不是说您插入字符串'null'
,而是实际的null
值 - 只需删除引号:
INSERT INTO tblDetails
SET eID=1010,entID=2,tID=65,eDateTime='2014-12-04 14:34:44',lastEventTime=null
此外,除非lsatEventTime
具有不合需要的默认值,否则您可以完全删除对它的引用,并让数据库使用默认值( null
):
INSERT INTO tblDetails
SET eID=1010,entID=2,tID=65,eDateTime='2014-12-04 14:34:44'
编辑:
要回答注释中提出的问题,即使在动态构造insert
语句时也可以这样做。 只需采取以下行:
"',lastEventTime='"+rs10d.getString("lastEventTime")+"'";
...并添加一些逻辑来检查null
s:
"',lastEventTime=" + (rs10d.getString("lastEventTime") == null ?
"null" :
"'"+rs10d.getString("lastEventTime")+"'");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.