JDBC给了我这个错误。
严重:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 您的SQL语法有误;检查手册 对应于您的MariaDB服务器版本,以使用正确的语法 在'INSERT INTO
entitytwitterusertofollow
附近 VALUES(0,NULL,NULL,1018880775335436288,F'在第2行
我有一个巨大的Java String,上面有数千行:
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,984815801063571456,FALSE,1);
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,1018880775335436288,FALSE,1);
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,845199742065827841,FALSE,1);
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,1018871764624035840,FALSE,1);
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,811280845638090752,FALSE,1);
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,1018804045635641344,FALSE,1);
INSERT INTO `entitytwitterusertofollow` VALUES(0,NULL,NULL,1018784953839038464,FALSE,1);
但是,如果我进行调试,请查看我的String,将其保存在文件中,然后将其导入MariaDB中,一切都很好。
JDBC有什么问题?
答案 0 :(得分:2)
我实际上是在使用错误代码 ...
在JDBC中,我们应该使用addBatch(sql);
来执行这种操作。
for (...) {
final String sql = "INSERT INTO `entitytwitterusertofollow` (ENTITYUSERID, ENTITYTWITTERCONCURRENT_ID) VALUES("+ id + "," + concurrent.getId() + ");";
statement.addBatch(sql);
}
statement.executeBatch();
conn.commit(); // if needed