---
title: "锁表 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 锁表 表锁是最基本的锁定策略，它锁定整张表，在任意时刻只允许一个会话对该表进行读写操作。您可以通过 LOCK TABLES 语句锁定表。 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时，在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据，破坏数据库的一致…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 锁表

更新时间：2026-07-15 15:16:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/300.database-object-management/100.manage-object-of-mysql-mode/200.manage-tables-of-mysql-mode/900.lock-a-table-of-mysql-mode.md)  

表锁是最基本的锁定策略，它锁定整张表，在任意时刻只允许一个会话对该表进行读写操作。您可以通过 `LOCK TABLES` 语句锁定表。

数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时，在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据，破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。为了确保资源的安全性（也就是数据完整性和一致性）才引申出锁机制。利用其锁机制来实现事务间的数据并发访问及数据一致性。

## 前提条件

要锁定的表必须在用户自己的 `Schema` 中，或者用户必须具有 `LOCK TABLES` 权限。

## 操作示例

为 test1 表设置读锁，为 test2 表设置写锁。

```sql
obclient> LOCK TABLES test1 as t1 READ LOCAL, test2 as t2 LOW_PRIORITY WRITE;
Query OK, 0 row affected

```

- 以只读方式锁住表，该表只能被 `select`，不能被修改。如果在锁表时，该表上存在事务，则 `lock` 语句挂起，直到事务结束。多个会话可以同时对表执行该操作。
 - 以读写方式锁住表，`lock table` 的会话可以对表做修改及查询等操作，而其他会话不能对该表做任何操作，包括 `select` 也要被阻塞

更多 `LOCK TABLES` 语句的介绍，请参见 [LOCK TABLES](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686116)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
