【发布时间】:2019-05-05 09:20:31
【问题描述】:
我正在从两个不同的表中插入一个表:
在我的driver 表中,我需要将driverID 作为外键driverID_FK 插入到我的car 表中。
同时,我需要将brand、color和wheel从我的manufacturer表插入到我的car表中。
我的桌子:
DRIVER
(driverID, name, age, ...)
CAR
(carID, driverID_FK, brand, color, wheel)
MANUFACTURER
(manufacturerID, brand, color, wheel)
我的driverID 是一个自动增量值。在我的 Web 应用程序中,我想要插入到 car 表中的行之前或之后可能还有其他条目,因此它不一定是我的 driver 表中的最后插入行。我的manufacturer 表中的brand, color, wheel 值也是如此。
到目前为止,这是我准备好的 SQL:
String name = //taken from another method...
int manufacturerID = //taken from another method...
String sql = "INSERT INTO car (driverID_FK, brand, color, wheel)
+ SELECT driverID FROM driver WHERE name = ?,
+ SELECT brand, color, wheel FROM manufacturer WHERE manufacturerID = ? ;";
PreparedStatement psmt = connect.prepareStatement(sql);
psmt.setString(1, name);
psmt.setInt(2, manufacturerID);
psmt.executeUpdate();
psmt.close();
非常感谢任何建议
【问题讨论】:
标签: java mysql sql select insert