[*]
Код: Выделить всё
j_cars
Код: Выделить всё
drivers
Код: Выделить всё
j_cars
Код: Выделить всё
String sql = "INSERT INTO j_cars (idSession, car_id, driver_guid, driver_name, ...) VALUES (?, ?, ?, ?, ...)";
try (PreparedStatement p = conn.prepareStatement(sql)) {
for (Car car : cars) {
p.setInt(1, sessionId);
p.setInt(2, car.CarId);
p.setLong(3, car.Driver.Guid);
p.setString(4, car.Driver.Name);
...
p.addBatch();
}
p.executeBatch();
}
Код: Выделить всё
CREATE DEFINER=`root`@`localhost` TRIGGER `trg__j_cars__before_insert`
AFTER INSERT ON `j_cars`
FOR EACH ROW
BEGIN
INSERT IGNORE INTO `drivers` (`guid`, `username`)
VALUES (NEW.`driver_guid`, NEW.`driver_name`);
END
< /code>
Разве моя вставка игнорирует предотвратить эту отмену?IF NOT EXISTS (
SELECT 1 FROM `drivers` WHERE `guid` = NEW.`driver_guid`
) THEN
INSERT IGNORE INTO `drivers` (`guid`, `username`)
VALUES (NEW.`driver_guid`, NEW.`driver_name`);
END IF;
Подробнее здесь: https://stackoverflow.com/questions/796 ... tch-insert