请问为啥我的这几行代码总报sql异常?明明在mysql下执行的很好,但到jdbc下执行就不行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问为啥我的这几行代码总报sql异常?明明在mysql下执行的很好,但到jdbc下执行就不行相关的知识,希望对你有一定的参考价值。
stmt.addBatch("use chat07");
stmt.addBatch("create table chatcontent(");
stmt.addBatch("id int primary key auto_increment,");
stmt.addBatch("chatcon varchar(100));");
addBatch()把若干sql语句装载到一起,然后一次送到数据库执行,执行需要很短的时间
一般是一次传一个语句.
例如:
stmt.addBatch( " INSERT INTO tmp VALUES( 1, 2) " );
stmt.addBatch( " INSERT INTO tmp VALUES( 3, 4) " );
stmt.addBatch( " INSERT INTO tmp VALUES( 5, 6) " );
而你的代码,看上去是把一个 SQL 语句, 拆成好几块,这个执行起来,好像有点问题。追问
那我的表格因为字段比较多,所以想拆分,有好的办法吗
追答你再长的一个语句, 也是要作为一个 SQL 语句,传递给服务器的啊。
如果你想要你的 java 代码的可读性好一些。
可以先定义一个 string 变量 或者 StringBuffer 。
一行一行的,把 SQL 的字段,加入进去。
最后执行一次就好。
sql.append("create table chatcontent(");
sql.append("id int primary key auto_increment,");
sql.append("chatcon varchar(100))");
stmt.addBatch(sql.toString()); 参考技术B 额 addBatch是用来一次性提交多个mysql语句的,如果是想把一个mysql语句拆分,那需要先定义一个StringBuffer参数,然后用append来链接
比如
StringBuffer sqlSelAlarm = new StringBuffer();
sqlSelAlarm.append(" select count('x') ");
sqlSelAlarm.append(" from tab_alarm_status where DATE_TIME<date_format(DATE_ADD(now(),INTERVAL -? DAY),'%Y-%m-%d 00:00:00') ");
我的sqlserver2008明明安装好了,为啥一开机就提示sqlserver打不开
可能是安装出现了问题,可能是系统版本不支持导致的,SQLSERVER比较变态,安装容易卸载难,尝试修复安装一下,如果还是不行,只能想办法重装了,哎,重装SQLSERVER就是一个灾难。 参考技术A 看一下windows event viewer找找相关的错误。追问事件查看器不知道这么看啊? 都是莫名其妙的东西.
以上是关于请问为啥我的这几行代码总报sql异常?明明在mysql下执行的很好,但到jdbc下执行就不行的主要内容,如果未能解决你的问题,请参考以下文章
我的sqlserver2008明明安装好了,为啥一开机就提示sqlserver打不开
我在使用BeanUtil工具包时,用populate()方法时总报异常