问题描述
- java中的sql语句为何会报错,而到了workbench就可以执行
- rt
基本上是timestamp的格式,比如
insert into table values ('2015-03-17 00:00:00');
这句话在java通过jdbc执行就会报错,而直接在workbench下面操作就没有问题
为什么会这样?
解决方案
可能是字符串单引号等引起的,打印代码中的字符串跟workbench中比较
解决方案二:
insert into table(字段1,字段2....) value( 值1值2 ) ; 或者不写字段,把所有字段的值都插入,例如有三个字段,insert into table value(? ??)
解决方案三:
首先你要把你JDBC执行的那条sql打印出来,看看能不能在db里面运行,如果可以,那么就应该没什么问题,如果不行,数据库的workbench一般都会有提示你是哪个地方有问题
解决方案四:
还要问一句,就是你上面是mysql还是oracle,还有你的字段够不够长,有可能JDBC那里转了类型,然后输入到数据库里面不够长度,最好还是把错误信息详细弄出来
解决方案五:
数据可以表的相应字段的数据类型,还有你在插入的时候字符串是不应该要转成sql的date类型呢?
解决方案六:
还有一种方式,你换成那种占位的方式然后在设置值试一试!查处问题所在!
时间: 2024-12-04 00:38:03