mysql开启行锁和表锁

更新时间:02-10 教程 由 南鸢 分享

在MySQL中,默认使用的是自动提交事务的方式。如果需要锁定一行或多行数据,可以开启行锁或表锁。

首先是开启行锁,只需要在SQL语句中加上FOR UPDATE即可:

SELECT * FROM 表名 WHERE 列名=值 FOR UPDATE;

这样就会锁定查询出来的行,其他事务就无法对这些行进行修改。如果需要取消锁定,可以用COMMIT或ROLLBACK语句来提交或回滚事务。

接下来是开启表锁,需要修改MySQL的参数来实现:

SET GLOBAL innodb_table_locks=1;

innodb_table_locks参数的默认值为1,表示开启表锁。如果需要关闭表锁,可以将其值设置为0。

同时,如果开启了表锁,在执行查询、插入、更新等操作时,在表级别上会自动加上X锁或S锁,当事务提交或回滚后,锁也会被释放。

声明:关于《mysql开启行锁和表锁》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2255496.html