我不确定是否可行,但我想为prepared-statement创建一个insert查询,其中insert查询包含两个表之间的连接。
E.g。 (也许是一个愚蠢的例子)
String sql = "INSERT INTO TABLE_A A (" +
"GenderId, Name, Surname, Age) VALUES (B.GenderId, ?, ?, ?) " +
"LEFT JOIN TABLE_B B ON A.GenderId = B.GenderId " +
"WHERE B.Gender = 'Male'";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, "Bill");
statement.setString(2, "Gates");
statement.setInt(3, 50);
答案 0 :(得分:1)
如果我理解您要实现的目标,可以使用SELECT语句生成要插入的值。
INSERT INTO TABLE_A (GenderId, Name, Surname, Age)
SELECT b.GenderId, ?, ?, ? FROM TABLE_B B
WHERE b.Gender = 'Male'
有关于这个主题here
的一些基本阅读