Я вставляю в одну таблицу из двух разных таблиц:
В моей таблице driver
мне нужно получить driverID
для вставки в мою таблицу car
в качестве внешнего ключа driverID_FK
.
В то же время мне нужно вставить brand
, color
и wheel
из моей таблицы manufacturer
в мою таблицу car
.
Мои таблицы:
DRIVER
(driverID, name, age, ...)
CAR
(carID, driverID_FK, brand, color, wheel)
MANUFACTURER
(manufacturerID, brand, color, wheel)
My driverID
- значение автоматического увеличения.И в моем веб-приложении могут быть другие записи до или после строки, которую я хочу вставить в таблицу car
, поэтому это не всегда последняя вставленная строка в моей таблице driver
.То же самое относится и к моим brand, color, wheel
значениям в моей manufacturer
таблице.
Вот мой подготовленный 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();
Любой совет с благодарностью