我正在優化一些SQL查詢。我已經寫了他們使用批次。集成測試運行良好,並且一切都很開心。但後來我知道MySQL除非啓用rewriteBatchedStatements,否則不會提高性能。rewriteBatchedStatements引入語法錯誤
所以我修改了我的連接字符串以包含rewriteBatchedStatement,但是我開始得到一個MySQLSytaxErrorException。當我從連接字符串中刪除rewriteBatchedStatement時,異常消失。
SQL:INSERT INTO rawdata.scales (ID, NAME) VALUES (?, ?)
例外:
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 ';INSERT INTO rawdata.scales` at line 1
奇怪的是,這只是發生在,在我設置的測試運行的第一個SQL語句。所有其他人運行良好。
爲什麼啓用此功能會在我的SQL前面添加一個分號?
請顯示您使用的代碼,而不僅僅是查詢。還要提到您正在使用的MySQL Connector/J的版本。 –