最近用Statement执行DDL的SQL
执行报错
“”未使用标记来传递 SQL。 ERRORCODE=-4462, SQLSTATE=NULL
SQL passed with no tokens.ERRORCODE=-4462, SQLSTATE=NULL”
发现是因为执行的SQL里有SQL(-- 注释)注释
网上找了半天终于找到了官方文档的解释 官方地址链接
public static Connection connect(String driver,String url, String username, String password, List<String> sqlList) {
Class.forName(driver);
Connection connection = (DriverManager.getConnection(url, username, password));
try {
connection.setAutoCommit(false);
st = connection.createStatement();
for (String sql : sqlList) {
//这里面不要放注释执行,会报错!!!!!
st.addBatch(sql); //①
//st.executeUpdate(sql);//②
}
st.executeBatch();//①
st.clearBatch();//①
connection.commit();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(connection, st, null);
}
}
不要在执行的SQL里加注释!不要在SQL中加注释!不要加注释!