国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:162日期: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:

用樂觀鎖??

主站蜘蛛池模板: 庆阳市| 沙河市| 高清| 镇赉县| 沈阳市| 旅游| 体育| 河池市| 浦县| 揭阳市| 庄河市| 长治市| 湛江市| 河津市| 德化县| 扬中市| 扶余县| 大同市| 万盛区| 新宁县| 太仆寺旗| 永春县| 大邑县| 壶关县| 河曲县| 昌吉市| 专栏| 全州县| 商水县| 武宁县| 远安县| 林西县| 锡林浩特市| 芜湖县| 东兰县| 营口市| 清水河县| 田林县| 丹棱县| 磴口县| 富阳市|