2017-08-02 105 views
0

我正在將一個Tomcat7/Mysql應用程序移植到AWS。我看到,每當我發送多查詢語句,我得到這樣的錯誤:AWS mysql多查詢語法錯誤

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near .... 

我只detyected它在多個查詢(FE多個相關刪除,如「從xxx中刪除;從xxx刪除」) 。單個查詢似乎正常工作。

我正在使用此代碼進行連接。

Class.forName("com.mysql.jdbc.Driver"); 
String jdbcUrl = "jdbc:mysql://" + hostname + ":" + port + "/" + dbName + "?user=" + userName + "&password=" + password + "&autoReconnect=true&allowMultiQueries=true"; 
Connection con = DriverManager.getConnection(jdbcUrl); 

要運行查詢我有這樣的代碼:

Statement st = conn.createStatement(); 
res = st.executeQuery(query); 
conn.commit(); 

我已經設置了allowMultiQueries=true但它不能正常工作。我究竟做錯了什麼?

是否支持多查詢?

+1

爲什麼要使用及一些參數,但&爲別人? – jarmod

+0

繼承以前的代碼。這解決了它。 – jordi

+1

確保您在啓用多重查詢時意識到SQL注入漏洞呈指數級增長的危險。由於某些非常令人信服的原因,它默認關閉。 –

回答

0

正如@jarmod指出的那樣,問題在於URL和分隔符。我應該用&,而不是&

&autoReconnect=true&allowMultiQueries=true