mysql中update會(huì)不會(huì)鎖表

本篇內(nèi)容主要講解“MySQL中update會(huì)不會(huì)鎖表”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mysql中update會(huì)不會(huì)鎖表”吧!

定制網(wǎng)站建設(shè)可以根據(jù)自己的需求進(jìn)行定制,成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)的運(yùn)用實(shí)際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實(shí)際意義

mysql中update會(huì)不會(huì)鎖表的兩種情況:1、update沒有索引時(shí),語句前面一個(gè)事務(wù)通過commit提交,命令會(huì)正常運(yùn)行結(jié)束,則update會(huì)鎖表;2、update添加索引時(shí),命令不會(huì)卡住,不會(huì)鎖表,但會(huì)更新同一行導(dǎo)致鎖行。

本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。

mysql中update會(huì)鎖表嗎

如果沒有索引,所以u(píng)pdate會(huì)鎖表,如果加了索引,就會(huì)鎖行

當(dāng)前面一個(gè)事務(wù)通過commit提交了,命令就會(huì)正常運(yùn)行結(jié)束,說明是被鎖表了。

兩種情況:

  • 1、帶索引

  • 2、不帶索引

前提介紹:

方式:采用命令行的方式來模擬

1.mysq由于默認(rèn)是開啟自動(dòng)提交事務(wù),所以首先得查看自己當(dāng)前的數(shù)據(jù)庫是否開啟了自動(dòng)提交事務(wù)。

命令:select @@autocommit;

結(jié)果如下:

mysql中update會(huì)不會(huì)鎖表

如果是1,那么運(yùn)行命令:set autocommit = 0;設(shè)置為不開啟自動(dòng)提交

2.當(dāng)前的數(shù)據(jù)庫表格式如下

tb_user | CREATE TABLE `tb_user` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `name` varchar(32) DEFAULT NULL,
 `phone` varchar(11) DEFAULT NULL,
 `operator` varchar(32) DEFAULT NULL,
 `gmt_create` datetime DEFAULT NULL,
 `gmt_modified` datetime DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

顯然除了主鍵,我沒有加任何索引

實(shí)際例子:

1.沒有索引

運(yùn)行命令:begin;開啟事務(wù),然后運(yùn)行命令:update tb_user set phone=11 where name="c1";修改,先別commit事務(wù)。

再開一個(gè)窗口,直接運(yùn)行命令:update tb_user set phone=22 where name=“c2”;會(huì)發(fā)現(xiàn)命令卡住了,但是當(dāng)前面一個(gè)事務(wù)通過commit提交了,命令就會(huì)正常運(yùn)行結(jié)束,說明是被鎖表了。

2.給name字段加索引

create index index_name on tb_user(name);

然后繼續(xù)如1里面的操作,也就是一個(gè)開啟事務(wù),運(yùn)行update tb_user set phone=11 where name="c1";先不提交

然后另一個(gè)運(yùn)行update tb_user set phone=22 where name="c2";發(fā)現(xiàn)命令不會(huì)卡住,說明沒有鎖表

但是如果另一個(gè)也是update tb_user set phone=22 where name="c1";更新同一行,說明是鎖行了

到此,相信大家對(duì)“mysql中update會(huì)不會(huì)鎖表”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享標(biāo)題:mysql中update會(huì)不會(huì)鎖表
文章分享:http://muchs.cn/article6/ispcig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、品牌網(wǎng)站建設(shè)全網(wǎng)營銷推廣、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站