Руководство MySQL указывает на то, что MySqlBulkLoader является оболочкой «LOAD DATA INFILE».Просматривая документацию «LOAD DATA INFILE», я заметил этот абзац:
Если вы укажете IGNORE, входные строки, дублирующие существующую строку с уникальным значением ключа, будут пропущены.Если вы не укажете ни один из параметров, поведение зависит от того, указано ли ключевое слово LOCAL.Без LOCAL возникает ошибка, когда обнаруживается повторяющееся значение ключа, а остальная часть текстового файла игнорируется.С LOCAL поведение по умолчанию такое же, как если бы был указан IGNORE;это связано с тем, что сервер не может остановить передачу файла в середине операции.
Я не нашел обсуждения транзакций, но приведенный выше абзац будет означать, что транзакции невозможны.
Обходной путь - импортировать данные в таблицу импорта, а затем использовать отдельную хранимую процедуру для обработки данных с использованием транзакций в нужную таблицу.
Итак, в ответе