Мне нужно сделать N вставок в кучу таблиц, но если какая-то из них не удастся, я хочу, чтобы все вставки были свернуты.
Я использую MySql 8.0 и InnoDB, я потратил многоЯ пытался заставить его работать, и я прочитал, что для этого мне нужно использовать транзакции, но это не работает так, как мне бы хотелось, и я не знаю, как это исправить.
Этоопределение таблицы:
CREATE TABLE IF NOT EXISTS `Example` (
`A` VARCHAR(30) NOT NULL,
`ID` int NOT NULL,
PRIMARY KEY (`ID`)
);
таблица содержит только запись ("abc", 1)
, поэтому я выполняю
START TRANSACTION;
INSERT INTO `Example` (`A`, `ID`) VALUES ("abd", 2);
INSERT INTO `Example` (`A`, `ID`) VALUES ("abc", 1);
COMMIT;
после транзакции ("abd ", 2) добавлено в таблицу.Я ожидаю, что не произойдет никаких изменений в таблице, поскольку вторая вставка, которая находится внутри транзакции, завершится неудачно