String insert1 = "INSERT INTO Table1(Col1, col2, col3)"
+ "VALUES(?,?,?)";
String insert2 = "INSERT INTO Table2(Colx, coly)"
+ "VALUES(?,?)";
Connection conn = aConn;
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(insert1);
// ps.addBatch(insert2);
我正在尝试一次将数据插入到多个表中,并且似乎没有为PreparedStatement 定义addBatch(String sql)
。
有什么替代方法吗?
最佳答案
首先,使用PreparedStatement
来缓存单个SQL语句。这样做的优点是驱动程序/数据库可以优化语句,因为它需要许多语句并且因为它是参数化语句。如果您想将其用于两个不同的 SQL 语句,则需要两个 PreparedStatement
。
为了向语句中添加行,您需要使用 set*(1,...)
、set*(2,...)
、set*(3,...)
等设置参数,然后调用 addBatch()
(无参数!)。最后,您使用 executeBatch()
提交这批语句。
关于java - 将数据插入多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23143199/