久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

更新mysql中被別人鎖定的行, 能不能快速失敗直接報錯, 而不是一直等待

瀏覽:157日期:2022-06-14 14:42:55

問題描述

用戶1

begin;select * from table where id = 1 for update;

用戶2

update table set ... where id = 1;

用戶2就一直在等待, 能不能讓用戶2快速失敗, 直接報錯啊

問題解答

回答1:

設置一個超時時間為10s修改my.cnf在[mysqld]下面加入:

innodb_lock_wait_timeout=10

則10s后收到如下錯誤:(mysql默認50s)

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction回答2:

select for update這種寫法會鎖表。把數據庫等待鎖的時間調整一下,可以讓用戶2快速失敗

回答3:

用樂觀鎖??

主站蜘蛛池模板: 虞城县| 苍溪县| 绍兴县| 临洮县| 卢湾区| 淳安县| 无极县| 藁城市| 红桥区| 兴文县| 罗田县| 新巴尔虎左旗| 手游| 水富县| 南汇区| 延边| 汝州市| 文化| 济源市| 巴楚县| 榆社县| 溆浦县| 张家口市| 玉溪市| 壶关县| 眉山市| 黄陵县| 鄂尔多斯市| 宣恩县| 长顺县| 台南市| 奎屯市| 怀安县| 曲周县| 淳化县| 普格县| 吉木萨尔县| 古交市| 舞阳县| 扬中市| 彰化市|