版权声明:本文为博主原创文章,未经博主允许不得转载。

最近做一个MySQL方面的东西发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋。

经过网上查找,发现有两种解决办法:

1、最简单的办法:在MySQL的连接字符串中设置allowMultiQueries参数置为true。(只有MySQL Connector/J 3.1.1以上版本才支持) 。例如:在jdbc下设置连接字符串的时候设置         成如下的形式:

jdbc:mysql://192.168.3.180/sample?user=root&password=&allowMultiQueries=true就可以执行多条语句了

在odbc下也是可以设置的,方法如下:

设置 ODBC — 配置 –Detials — Flags 3 — 钩上 Allow multiple statements,这样就可以了。

结论:第一种方式最简单。

2、在程序中对SQL语句以分号拆分成多条SQL语句,然后使用Statement的addBatch方法,最后executeBatch就行。

希望对以后遇到此类问题的朋友有所帮助。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐