MySQL Trigger с вмъкване или актуализиране на транзакция

използвам mysql db & java, така че в моето приложение трябва да използвам тригер, но трябва да го накарам да се запазва, докато вмъквам или актуализирам. при вмъкване на нов запис в таблица А, тригерът ще свърши работата, за да вмъкне някаква информация в друга таблица Б. също така, когато прави актуализация за записи в таблица А, тригерът ще актуализира записите за таблица Б.

ако транзакцията по време на актуализация или insrt е отменена, това отменя ли всички промени, направени от тригера.??!!


person Motasem    schedule 11.12.2012    source източник


Отговори (1)


Да, ако транзакцията бъде върната назад, работата, извършена от тригера, също ще бъде върната назад (освен ако не правите малко маймуни с обхват на транзакция вътре в тригера, за да предотвратите конкретно това)

person Eric Petroelje    schedule 11.12.2012
comment
и как да направите това маймунджиране, за да предотвратите връщането на работата, извършена от тригера? - person Matija Nalis; 30.04.2019
comment
@MatijaNalis - добър въпрос, всъщност изглежда, че не можете да извършвате вложени транзакции в MySQL, но може да успеете да постигнете нещо подобно с точки за запазване, ако наистина искате. По-любопитен съм защо бихте искали обаче - случаите на използване за това са доста ограничени според моя опит. - person Eric Petroelje; 02.05.2019
comment
Опитвам се да запазя някои регистрационни файлове за опити (както успешни, така и неуспешни) транзакции. Без да мога да запазя данни при връщане назад, можех да регистрирам само успешни транзакции. - person Matija Nalis; 03.05.2019
comment
@MatijaNalis - Да, това е единственият случай на употреба, за който някога съм имал нужда от тази функционалност. В моя случай използвах C# и DTC на MsSQL сървър, но изглежда, че тази функционалност може да не е налична в MySQL. - person Eric Petroelje; 03.05.2019