SELECT * FROM table_name WHERE id = 1 FOR">

mysql怎么加行锁

来源:这里教程网 时间:2026-02-28 18:12:22 作者:

MySQL加行锁

在MySQL中,行锁是一种机制,允许用户锁定数据库表中的特定行,以防止其他会话同时修改这些行。

如何添加行锁

MySQL中的行锁可以通过在SELECT语句中使用FOR UPDATE子句来添加。该子句将锁定SELECT语句返回的任何行,直到事务结束或显式释放锁为止。

示例:

<code class="sql">SELECT * FROM table_name WHERE id = 1 FOR UPDATE;</code>

行锁的类型

MySQL中的行锁有以下两种类型:

共享锁 (S锁):允许其他会话读取被锁定的行,但不能修改。 排他锁 (X锁):阻止其他会话读取或修改被锁定的行。

行锁的释放

行锁将在以下情况自动释放:

事务结束 使用UNLOCK TABLES语句显式释放锁 使用ROLLBACK语句回滚事务

注意:

行锁只在MySQL的InnoDB存储引擎中可用。 行锁会占用系统资源,因此应谨慎使用。 如果多个会话争用同一行,则可能导致死锁。

相关推荐