The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Запросы в транзакции MariaDB выполняются не смотря на ошибки."
Версия для распечатки Пред. тема | След. тема
Форум Оптимизация и Промышленные системы
Исходное сообщение [ Отслеживать ]

"Запросы в транзакции MariaDB выполняются не смотря на ошибки." +/
Сообщение от CHIMemail (ok), 11-Авг-22, 15:20 
Доброго времени суток.
Уважаемые знатоки, прошу совета!
Сервер MariaDB 10.5, пишу простенький запрос с транзакцией где данные копируются из одной таблицы в другую и помечаются как архивные, затем удаляются из первоисточника.
Суть в том, что даже работая с одной таблицей, поочерёдно выполняется код и не смотря на то, что есть попытка обновить несуществующую строку, транзакция не отменяется, а выполняется в полном объёме, что до попытки обновления, что после.

SET autocommit = OFF;
START TRANSACTION;
DELETE FROM test2 WHERE pnum=11;/*удаляем на всякий случай*/
INSERT INTO test2(fam,pnum) (SELECT fam,pnum FROM test1 WHERE id =334);/*из test1 копируем строку в test2*/
DELETE FROM test2 WHERE pnum=11;/*удаляем копируемую строку*/
UPDATE test2 SET location='arhiv' WHERE pnum=11;/*пытаемся обновить несуществующую строку*/
INSERT INTO test2(fam,pnum) (SELECT fam,pnum FROM test1 WHERE id =334);/*снова вставляем данную строку*/
COMMIT;
SELECT * FROM test2 WHERE pnum=11;

Не могу понять почему транзакция не отменяет изменения если в одном из запросов ошибка?

Ответить | Правка | Cообщить модератору

Оглавление
Запросы в транзакции MariaDB выполняются не смотря на ошибки., CHIM, 11-Авг-22, 15:20  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру