mysql悲觀鎖的方法:1、先利用【select ... for update】加鎖,操作完成後使用commit來釋放鎖;然後innodb引擎來預設行級鎖;最後查不到資料時,則不鎖表即可。
mysql悲觀鎖定的方法:
1、開始交易
begin;/begin work;/start transaction; (三者选一就可以)
2、查詢出商品資訊
select status from table where id=1 for update;
3、根據商品資訊產生訂單
insert into table111 (id,goods_id) values (null,1);
4、修改商品status為2
update table set status=2 where id=1;
5、提交交易
commit;/commit work; (任选一种释放锁)
總結:
1、實現悲觀鎖定利用select ... for update加鎖, 操作完成後使用commit來釋放鎖定;
2、innodb引擎時, 預設行級鎖定, 當有明確欄位時會鎖定一行, 如無查詢條件或條件;
欄位不明確時, 會鎖定整個資料表,條件為範圍時會鎖定整個資料表;
3、查不到資料時, 則不會鎖定表。
相關學習推薦:mysql影片教學
以上是mysql悲觀鎖怎麼實現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!