Каждое новое соприкосновение с MySQL приносит радость от того, что они, соприкосновения, происходят редко. Сегодня я узнал, что в MySQL возможно неатомарное выполнение транзакции:
START TRANSACTION;
UPDATE A SET value = value + 100; — это выполнится и закоммитится
UPDATE B SET value = value - 100; — если это нарушит ограничения то не выполнится, но транзакцию не оборвет
COMMIT; — один апдейт выполнился, второй нет
Как они вообще живут то уже столько лет? Или есть секретный соус, и я просто не умею его готовить?
START TRANSACTION;
UPDATE A SET value = value + 100; — это выполнится и закоммитится
UPDATE B SET value = value - 100; — если это нарушит ограничения то не выполнится, но транзакцию не оборвет
COMMIT; — один апдейт выполнился, второй нет
Как они вообще живут то уже столько лет? Или есть секретный соус, и я просто не умею его готовить?
Every new contact with MySQL brings joy from the fact that they, contacts, rarely occur. Today I learned that in MySQL it is possible to perform a non-atomic transaction:
START TRANSACTION;
UPDATE A SET value = value + 100; - it will execute and commit
UPDATE B SET value = value - 100; - if it violates the restrictions, it will not be executed, but the transaction will not break
COMMIT; - one update is completed, the second is not
How do they live then for so many years? Or is there a secret sauce, and I just do not know how to cook it?
START TRANSACTION;
UPDATE A SET value = value + 100; - it will execute and commit
UPDATE B SET value = value - 100; - if it violates the restrictions, it will not be executed, but the transaction will not break
COMMIT; - one update is completed, the second is not
How do they live then for so many years? Or is there a secret sauce, and I just do not know how to cook it?
У записи 3 лайков,
0 репостов,
387 просмотров.
0 репостов,
387 просмотров.
Эту запись оставил(а) на своей стене Дмитрий Барашев