2014-03-28 97 views
0

我有一個場景,用戶A可以去選擇連續和用戶B可以去刪除或更新那一行。雙方同時來到這一行。MySQL的innodb鎖定選擇和更新

我不使用交易。我正在使用簡單的選擇和刪除或更新查詢。

我的表db引擎是innodb。

innodb在這種情況下會做什麼?

我認爲它應該保持選擇查詢並運行刪除或更新查詢第一,但我沒有確認。

+0

你有一個競爭條件,誰先來誰先來。 –

+0

是的我知道,但我的問題是,如果兩者同時發生。順便說一句,謝謝你的回覆:) –

回答

0

兩個(或更多)用戶之間總是會有微秒。

他們不會在同一時間。

所以第一個贏了。

+0

有沒有告訴過這兩個不能同時來的文件? –

+0

@ 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