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