iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >通过实例判断mysql update是否会锁表
  • 553
分享到

通过实例判断mysql update是否会锁表

mysqlupdate锁表 2022-05-17 20:05:35 553人浏览 泡泡鱼
摘要

两种情况: 带索引 2.不带索引 前提介绍: 方式:采用命令行的方式来模拟 mysq由于默认是开启自动提交事务,所以首先得查看自己当前的数据库是否开启了自动提交事务。 命令:select @@autocommit;

两种情况:

索引 2.不带索引

前提介绍:

方式:采用命令行的方式来模拟

mysq由于默认是开启自动提交事务,所以首先得查看自己当前的数据库是否开启了自动提交事务。

命令:select @@autocommit;

结果如下:

+————?+
| @@autocommit |
+————?+
| 0 |
+————?+

如果是1,那么运行命令:set autocommit = 0;设置为不开启自动提交

当前的数据库表格式如下

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

显然除了主键,我没有加任何索引

实际例子:

1.没有索引

运行命令:begin;开启事务,然后运行命令:update tb_user set phone=11 where name=”c1”;修改,先别commit事务。

再开一个窗口,直接运行命令:update tb_user set phone=22 where name=”c2”;会发现命令卡住了,但是当前面一个事务通过commit提交了,命令就会正常运行结束,说明是被表了。

2.给name字段加索引

create index index_name on tb_user(name);

然后继续如1里面的操作,也就是一个开启事务,运行update tb_user set phone=11 where name=”c1”;先不提交

然后另一个运行update tb_user set phone=22 where name=”c2”;发现命令不会卡住,说明没有锁表

但是如果另一个也是update tb_user set phone=22 where name=”c1”;更新同一行,说明是锁行了

3.总结

如果没有索引,所以update会锁表,如果加了索引,就会锁行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

您可能感兴趣的文档:

--结束END--

本文标题: 通过实例判断mysql update是否会锁表

本文链接: https://www.lsjlt.com/news/9830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL UPDATE语句是否会导致表被锁定?
    MySQL UPDATE语句是否会导致表被锁定? MySQL 是一个流行的关系型数据库管理系统,广泛用于各种应用程序中。在数据库操作中,UPDATE 语句用于更新表中的数据。但是,一个...
    99+
    2024-03-15
    mysql update 锁定
  • MySQL中的UPDATE操作是否会引起表锁定?
    MySQL中的UPDATE操作是否会引起表锁定? 在MySQL数据库中,UPDATE操作是用来修改表中已存在的数据记录的一种操作。但是,当执行UPDATE操作时,是否会引起表锁定呢?答...
    99+
    2024-04-02
  • MySQL的UPDATE操作是否会造成表级锁定?
    MySQL的UPDATE操作是否会造成表级锁定? 在MySQL数据库中,当执行UPDATE操作时,是否会造成表级锁定,这是一个常见而又重要的问题。表级锁定会影响数据库的并发性能,因此了...
    99+
    2024-03-15
    表级锁定检查 sql语句
  • 通过Python判断主机是否存在
    判断对方主机是否存在! import os status = os.system("ping -c 1 www.baidu.com"); if status == 0: print '连接成功!'; else: p...
    99+
    2023-01-31
    是否存在 主机 Python
  • mysql如何判断表是否存在
    本文小编为大家详细介绍“mysql如何判断表是否存在”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql如何判断表是否存在”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2023-04-20
    mysql
  • mysql怎么判断表是否存在
    要在 MySQL 中判断表是否存在,您可以执行以下 SQL 查询语句: SHOW TABLES LIKE 'table_na...
    99+
    2024-04-18
    mysql
  • PHP判断文件是否是通过 HTTP POST 上传的
    这篇文章将为大家详细讲解有关PHP判断文件是否是通过 HTTP POST 上传的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 判断文件是否是通过 HTTP POST 上传 : 为了判断文件是否是...
    99+
    2024-04-02
  • java判断http地址是否连通(示例代码)
     下面代码看下java判断http地址是否连通 private boolean isOk(String url) { if(StrUtil.isEmpty(url...
    99+
    2024-04-02
  • Oracle存储过程:判断表是否存在的实现方法
    Oracle数据库中存储过程是一种特定类型的存储过程,用于在数据库中执行一系列的SQL语句和数据操作。在实际的数据库开发工作中,有时候我们需要判断某个表是否存在于数据库中,这样可以在存...
    99+
    2024-03-08
    oracle 存储过程 表存在 sql语句
  • mysql修改字段的长度是否会锁表
    结论: 缩小字段长度不能使用inpalce,会锁表。放大字段长度:取决于变化前和变化后是否跨越255这个长度。以UTF8编码为例,一个字符占3个字节。字段变化1:varchar(50)--》varch...
    99+
    2023-09-17
    mysql 数据库 java
  • 怎么在mysql中判断一个表是否存在
    在mysql中判断表是否存在的方法:1.启动mysql;2.登录mysql数据库;3.选择并进入数据库;4.执行命令判断;具体步骤如下:首先,在本地环境中启动mysql服务;service mysql start mys...
    99+
    2024-04-02
  • oracle如何在存储过程中判断表是否存在
    oracle在存储过程中判断表是否存在的步骤:1、使用“user_tables`”系统表查询当前用户下的表信息,将传入的表名“p_table_name”与“table_name”字段进行比较,满足条件,则“COUNT(*)”会返回大于0的值...
    99+
    2023-07-10
  • MYSQL自定义函数判断是否正整数的实例代码
    可以写一个函数: 主要是使用正则来判断。另外输入字符是空的话,使用"-"来替换。 CREATE FUNCTION [dbo].[svf_NonNegativeInteger] ( @val NVAR...
    99+
    2024-04-02
  • Oracle存储过程编写:判断数据库表是否存在
    在Oracle数据库中,存储过程是一种可以保存并重复使用的一组SQL语句的集合,可以实现一定的逻辑功能。在编写Oracle存储过程的过程中常常会涉及到判断数据库表是否存在的需求,以便在...
    99+
    2024-03-08
    oracle 存储过程 判断表存在 sql语句
  • JavaScript判断文件是否存在的实例代码
    一、业务场景 最近一直在做和文件上传和下载相关的开发,在涉及到下载的时候,我使用如下的方法进行下载 //获取或者赋值一个下载路径 let downUrl; /...
    99+
    2024-04-02
  • js怎么判断数组中是否有元素通过了测试
    这篇文章主要介绍“js怎么判断数组中是否有元素通过了测试”,在日常操作中,相信很多人在js怎么判断数组中是否有元素通过了测试问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js...
    99+
    2024-04-02
  • MySQL中怎么使用SQL语句判断表是否存在
    本篇内容主要讲解“MySQL中怎么使用SQL语句判断表是否存在”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中怎么使用SQL语句判断表是否存在”吧! ...
    99+
    2023-05-25
    mysql sql
  • Android判断是否有拍照权限的实例代码
    下面一段代码给大家介绍android判断是否有拍照权限,具体代码如下所示:public boolean cameraIsCanUse() { boolean isCanUse = true; Camera mCamera = null;...
    99+
    2023-05-31
    android 拍照权限 roi
  • sql怎么判断数据库、表、存储过程等是否存在
    这篇文章主要介绍“sql怎么判断数据库、表、存储过程等是否存在”,在日常操作中,相信很多人在sql怎么判断数据库、表、存储过程等是否存在问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Android 判断当前网络是否可用简单实例
    Android 判断当前网络是否可用简单实例用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用是两码事。可以使用指的是:用户打开网络了并且可以连上互联网进行上网。首页添加网络权限<uses-permis...
    99+
    2023-05-31
    android 判断网络 roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作