2014-03-02 122 views
0

我想在我的大学项目的测试数据库中使用java批量插入,但我得到一个错误,我无法弄清楚为什么..选择语句正在工作但插入将不起作用。提前致谢。批量插入错误mysql和java

错误: 线程“main”中的异常java.sql.BatchUpdateException:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在test.main处使用com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:1193) 处的第1行 附近的''(test.java: 29)

public static void main(String[] args) throws Exception 
    { 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection con = DriverManager.getConnection ("jdbc:mysql://myserverIP:3306/databaseName","root", ""); 

      Statement statement = con.createStatement(); 

      String [] queries = { 
       "insert into name (first,last) values ('Joao', 'Silva')", 
       "insert into name (first,last) values ('Jose', 'Santos')", 
       "insert into name (first,last) values ('Lucas', 'Maluco')", 
       "insert into name (first,last) values ('Cesar', 'Pereira')", 

      }; 

      for (String query: queries) { 
      statement.addBatch(query); 
      statement.executeBatch(); 
      } 
      statement.close(); 
      con.close(); 
    } 
+0

忘了提,我没有得到任何错误,而编译后的代码,但只有当我运行它。 – user3344414

+0

SQL注入警报:考虑使用'PreparedStatement' – Reimeus

回答

2

执行批处理中的所有查询已被添加到Statement而不是每个单独的查询

for (String query: queries) { 
    statement.addBatch(query); 
} 
statement.executeBatch(); 
+0

感谢Reimeus,现在完美:) – user3344414