让MySQL同时执行多条SQL语句的解决办法

最近做一个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就行。

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


 

你可能感兴趣的:(sql,mysql,jdbc)