我有一个绝对文件名(csv文件)列表。我想批量插入他们使用 LOAD DATA LOCAL INFILE
.
问题:在将sql语句作为批处理执行之前,我无法批量收集它们:
PreparedStatement ps = con.prepareStatement("LOAD DATA LOCAL INFILE ? INTO TABLE mytable");
for (String filename : filenames) {
ps.setString(1, filename);
ps.addBatch();
}
ps.executeBatch();
ps.commit();
结果:
提交1个文件时出错:参数索引超出范围(1>参数数,即0)
无法识别sql通配符参数。但是如果不是用 ?
通配符?
1条答案
按热度按时间1zmg4dgp1#
我不认为事先准备好的声明支持
LOAD DATA
如你所想。据我所知,查询中只有文本值可以用参数表示。但是您可以在这里使用普通的字符串连接: