0
说我有一个购买交易做这样的事情:这两个sql事务会死锁吗? (1个回滚/解决)
START TRANSACTION;
UPDATE `USER` SET `Money` = `Money - '100';
UPDATE `ITEMS` SET `Item` = `Item` + '1';
COMMIT;
不幸的是在同一时间一个cron跑,给于大家的兴趣现有的平衡:
UPDATE `USER` SET `Money` = `Money` + '50';
(无论是交易还是单个自动提交)
在任何情况下会造成死锁吗? (这可以通过dbms回滚来解决)
任何帮助将不胜感激,谢谢。
取决于您正在使用的dbms。 – jarlh
InnoDB/MySQL,但是会导致一个dbms死锁而另一个不是? –
一些dbms从不会死锁。 (例如https://en.wikipedia.org/wiki/Optimistic_concurrency_control) – jarlh