MySQL中innodb的锁有知道的吗?

请问innodb引擎中,当使用update或者insert或者delete语句时,如果没有声明事务的话,数据库会给影响的行加锁么?具体机制是怎么样的?


mysql
innodb
2023-06-25 12:58:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
大娘送面粉

innodb中不存在你说的情况。可见​​官方文档​​说明:

In InnoDB, all user activity occurs inside a transaction.

也就是说,在innodb中,你的语句肯定在事务中。可分为如下几种情况:

  1. 显示声明事务: begin or start transaction

当显示的声明事务就会隐式的关闭了自动提交,参见​​官方文档​

  1. 未显示声明事务 & set autocommit=1 : 每一条sql就会是一个事务。
  2. 未显示声明事务 & set autocommit=0 : 连接中的事务总是处于打开状态,当commit或者rollback时事务完成并开启一个新事务。
分享
微博
QQ
微信
回复
2023-06-25 14:59:20
相关问题
mysql共享问题有知道
376浏览 • 1回复 待解决
mysql 索引问题有知道
720浏览 • 1回复 待解决
Mysql怎么添加外键有知道
237浏览 • 1回复 待解决
mysql主从同步问题有知道
957浏览 • 1回复 待解决
mysql替换字符串问题有知道
1332浏览 • 1回复 待解决
请教一个mysql问题有知道
777浏览 • 1回复 待解决
mqtt协议使用有知道
442浏览 • 1回复 待解决
WebView层级问题有知道
3186浏览 • 1回复 待解决
依赖包冲突有知道
509浏览 • 1回复 待解决
innodb,空列会占用存储
825浏览 • 1回复 待解决
Ubuntu terminal切换问题有知道
294浏览 • 1回复 待解决
创建json文件问题有知道
1052浏览 • 1回复 待解决
如何设置屏幕亮度有知道
86浏览 • 1回复 待解决
请问imanaer问题有知道
916浏览 • 0回复 待解决
SQL解析问题有知道
1123浏览 • 1回复 待解决
ohos:remote问题有知道
2374浏览 • 1回复 待解决
开发调试问题有知道
336浏览 • 1回复 待解决
ets组件定位问题有知道?
1195浏览 • 1回复 待解决
鸿蒙怎么接收广播有知道
8461浏览 • 1回复 待解决
centos 6 安装 postgresql有知道?
376浏览 • 1回复 待解决
obproxy路由问题有知道
2615浏览 • 2回复 待解决