rt
基本上是timestamp的格式,比如
insert into table values ('2015-03-17 00:00:00');
这句话在java通过jdbc执行就会报错,而直接在workbench下面操作就没有问题
为什么会这样?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
可能是字符串单引号等引起的,打印代码中的字符串跟workbench中比较
insertintotable(字段1,字段2....)value(值1,值2,,,);或者不写字段,把所有字段的值都插入,例如有三个字段,insertintotablevalue(?,?,?)
首先你要把你JDBC执行的那条sql打印出来,看看能不能在db里面运行,如果可以,那么就应该没什么问题,如果不行,数据库的workbench一般都会有提示你是哪个地方有问题
还要问一句,就是你上面是mysql还是oracle,还有你的字段够不够长,有可能JDBC那里转了类型,然后输入到数据库里面不够长度,最好还是把错误信息详细弄出来
数据可以表的相应字段的数据类型,还有你在插入的时候字符串是不应该要转成sql的date类型呢?
还有一种方式,你换成那种占位的方式然后在设置值试一试!查处问题所在!