SQL Trigger отмена пакетная вставкаJAVA

Программисты JAVA общаются здесь
Anonymous
SQL Trigger отмена пакетная вставка

Сообщение Anonymous »

В моей базе данных я 2 таблицы: < /p>

[*], в котором хранится копия списков автомобилей из Dass Sessions Damples of Assetto Corsa (Game) серверов , который берет все уникальные пары имени пользователя/Steam Guid из таблицы j_cars , чтобы сделать более легкую таблицу для запроса ( довольно большой и избыток)

Код: Выделить всё

String sql = "INSERT INTO j_cars (driver_guid, driver_name, ...) VALUES (?, ?, ...)";

try (PreparedStatement p = conn.prepareStatement(sql)) {
for (Car car : cars) {
p.setLong(1, car.Driver.Guid);
p.setString(2, car.Driver.Name);

...

p.addBatch();
}

p.executeBatch();
}
Хотя это работает отлично, если я попытаюсь добавить триггер здесь ниже, вставки на j_cars работают только в том случае, если пара пользователя/guid уже не существует в таблице драйверов . Если это так, объемная вставка в j_cars отброшена, и кажется, что в j_cars (?) (?).

Код: Выделить всё

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
Разве моя вставка игнорирует предотвратить эту отмену, игнорируя ограничение PK?
Обновление - Важное примечание. Записи добавлены в J_CARS , а триггер работает как очарование. Это создает проблему только тогда, когда я использую Java и эту пакетную систему.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... tch-insert

Вернуться в «JAVA»