我有一個場景,用戶A可以去選擇連續和用戶B可以去刪除或更新那一行。雙方同時來到這一行。MySQL的innodb鎖定選擇和更新
我不使用交易。我正在使用簡單的選擇和刪除或更新查詢。
我的表db引擎是innodb。
innodb在這種情況下會做什麼?
我認爲它應該保持選擇查詢並運行刪除或更新查詢第一,但我沒有確認。
我有一個場景,用戶A可以去選擇連續和用戶B可以去刪除或更新那一行。雙方同時來到這一行。MySQL的innodb鎖定選擇和更新
我不使用交易。我正在使用簡單的選擇和刪除或更新查詢。
我的表db引擎是innodb。
innodb在這種情況下會做什麼?
我認爲它應該保持選擇查詢並運行刪除或更新查詢第一,但我沒有確認。
兩個(或更多)用戶之間總是會有微秒。
他們不會在同一時間。
所以第一個贏了。
有沒有告訴過這兩個不能同時來的文件? –
@ murtzagondal - 每個查詢都是原子的,這意味着查詢運行時數據不會改變。進一步閱讀:[事務和原子操作](https://dev.mysql.com/doc/refman/5.1/en/ansi-diff-transactions.html)和[MySQL和ACID模型](https:// dev .mysql.com/DOC/refman/5.6/EN/MySQL的-acid.html) – blue
你有一個競爭條件,誰先來誰先來。 –
是的我知道,但我的問題是,如果兩者同時發生。順便說一句,謝謝你的回覆:) –