网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1

今天在做商城项目的【提交订单】功能的时候,向数据库插入数据报错:Incorrect datetime value: ‘‘ for column ‘ordertime‘ at row 1

public void addOrders(Order order) throws SQLException {
        QueryRunner runner = new QueryRunner();
        String sql = "insert into orders values(?,?,?,?,?,?,?,?)";
        Connection conn = DataSourceUtils.getConnection();
        runner.update(conn,sql, order.getOid(),order.getOrdertime(),order.getTotal(),order.getState(),
                order.getAddress(),order.getName(),order.getTelephone(),order.getUser().getUid());

}

检查了sql语句,问号与value个数相同,没问题。

value的依次顺序与数据库也一样,没问题。

看到报错信息里有datetime,个人感觉是插入的数据与数据库类型产生了冲突,

然后就百度了下,看到一篇文章https://blog.csdn.net/qq_34734520/article/details/51882925

里面有这么一句:对ordertime使用SimpleDateFormat进行转换,转换成和数据库一致的格式:yyyy-MM-dd hh:mm:ss

接着检查我的Servlet里面有一句代码是:

order.setOrdertime(new Date);

这里的日期没有进行格式化,想着是不是要格式化一下日期才行

最后利用SimpleDateFormat格式化日期后

运行不报错了,数据也插进去了,完美解决问题!!!

PS:给自己提个醒,这里的insert into语法是insert into 表名(字段1,字段2,字段3........) values(value1,value2 value3.....) ;  一定要一一对应,

如果前面不加字段名,value个数最好跟数据库里面字段个数一样,顺序对应,否则会报空指针异常。

网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1

原文地址:https://www.cnblogs.com/y-song/p/10827401.html

时间: 2024-08-03 17:14:03

网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1的相关文章

ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - Data truncation: Incorrect datetime value: '' for column 'pubdate' at row 1

之前的Connector/J版本是:mysql-connector-java-5.0.4-bin.jar 后来换成mysql-connector-java-5.1.45-bin.jar,问题解决 2018-02-16 01:07:10,086 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - SQL Error: 0, SQLState: 220012018-02-16 01:07:10,086 ERROR [org.hibern

Mysql 升级到 5.6 后插入语句时间字段报错:Incorrect datetime value: '' for column 'createtime'

今天部署服务器项目运行,当遇见有时间数据对象的插入和更新操作的时候,就报错,如下: Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'createtime' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2868) at com.mysql.jdbc.My

用Mysql5.6出现时间问题Incorrect datetime value: '' for column 'createtime'

本人经验(与mysql的jar包有关) 部署服务器项目运行,当遇见有时间数据对象的插入和更新操作的时候,就报错,如下: [html] view plain copy print? Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'createtime' at row 1 at com.mysql.jdbc.MysqlIO.checkErr

Mysql 插入时间时报错Incorrect datetime value: '' for column 'createtime'

在网上找了很多方法总结如下: 1.MySQL驱动版本的问题.这种一般是在mYSQL版本更新了之后才会报错.解决方法在jdbc里添加"&useOldAliasMetadataBehavior=true" 2.可能是datetime的格式问题. datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值.支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于20

很爽的一点。用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime' 解决方法

我的mysql安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据: 原因: 5以上的版本如果时期时间是空值应该要写NULL: 官方解释说:得知新版本mysql对空值插入有"bug", 要在安装mysql的时候去除默认勾选的enable strict SQL mode 那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini 解决

解决Incorrect integer value: '' for column 'id' at row 1的方法

在使用Navicat for MySQL还原数据库备份时,出现Incorrect integer value: '' for column 'id' at row 1的错误; 网上查资料发现5以上的版本如果是空值应该要写NULL这种问题一般mysql 5.x上出现. 使用Select version();查看, 我用的是mysql5.0.37,而创建备份的MySQL数据库版本是5.6 官方解释说:得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enab

Msql:Incorrect double value: ''for column 'id' at row 1解决

Incorrect double value: ''for column 'id' at row 1解决 最近在写个查询 插入语句的时候 我是这么写的 1 insert into test values('',row[contentid],′".tn."'); 结果搞死没插入进去  然后我 mysql_error() 了一下 就报 Incorrect integer value: '' for column 'id' at row 1  这个错误 一般我们是认为应该没错误的.后来查了下

Incorrect integer value: '' for column 'RegNum' at row 1

数据库版本: 5.6.16??操作系统: Red Hat Enterprise Linux Server release 6.3 (Santiago)??在插入数据的时候提示告警:?mysql> show warnings;+---------+------+----------------------------------------------------------+| Level | Code | Message |+---------+------+-----------------

Caused by: java.sql.SQLException: Incorrect integer value: '' for column 'clientId' at row 41

1.错误描述 [ERROR:]2015-06-10 13:48:26,253 [异常拦截] oa.exception.ExceptionHandler org.hibernate.exception.GenericJDBCException: error executing work at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.jav