---
title: "关于 UPDATE 语句 | OceanBase 文档中心"
description: "关于 UPDATE 语句 UPDATE 语句用来更新表的行记录，本文介绍了相关语句的语法和示例。 UPDATE 语句 UPDATE 语句语法格式如下： UPDATE table_name SET column_name = value [, column_name = value]... [ WHERE condit…"
---
切换语言

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

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

# 关于 UPDATE 语句

更新时间：2026-06-17 09:15:07

UPDATE 语句用来更新表的行记录，本文介绍了相关语句的语法和示例。

## UPDATE 语句

`UPDATE` 语句语法格式如下：

```sql
UPDATE table_name
SET column_name = value [, column_name = value]...
[ WHERE condition ];

```

| 参数 | 是否必填 | 描述 | 示例 |
| --- | --- | --- | --- |
| table_name | 是 | 指定需要更新数据的表 | table1 |
| column_name = value [, column_name = value] | 是 | 指定需要更新的列，等号（=）后面的 value 是更新的目标值 | name='US' |
| [ WHERE condition ] | 否 | 条件子句指定要更新的行记录必须满足的条件。如果不填表示更新表对应列的所有记录。 | where id=3 |

## 示例

### 更新所有记录

以下示例表示更新 t_insert 表中 value 列的所有值 +1。

```sql
obclient> UPDATE t_insert SET value=value+1 ;
Query OK, 4 rows affected
Rows matched: 4  Changed: 4  Warnings: 0

obclient> SELECT * FROM t_insert;
+----+------+-------+------------+
| ID | NAME | VALUE | GMT_CREATE |
+----+------+-------+------------+
|  1 | CN   | 10002 | 01-JEN-70  |
|  2 | US   | 10003 | 01-JEN-70  |
|  3 | EN   | 10004 | 01-JEN-70  |
+----+------+-------+------------+
4 rows in set

```

执行 `UPDATE` 语句时要注意控制事务不要太大，可以通过 limit 控制数量或者通过 where 来控制范围。不带条件更新的时候，如果记录数达到几十万或者几百万，会有大事务产生，可能会导致执行失败。

- 事务过大导致的具体报错如下：

  ```sql
  obclient> UPDATE analog SET ach=ach+1;
  ERROR 4012 (HY000): Timeout

  ```
 - 通过 limit 控制单次事务更新的行数，如下示例，在 analog 表中更新前 100000 行数据的 ach 值为 ach+1。

  ```sql
  UPDATE analog SET ach=ach+1 LIMIT 100000;

  ```
 - 通过 where 筛选分批更新：

  ```sql
  UPDATE analog SET ach=ach+1 where ach=64;

  ```

### 更新部分记录，违反约束报错

当表上有唯一性约束的时候，更新相同的记录，数据库会报错。

```sql
obclient> CREATE UNIQUE INDEX uk_name ON t_insert(name);
Query OK, 0 rows affected

obclient> UPDATE t_insert SET name='US' WHERE id=3;
ORA-00001: unique constraint 'US' for key 'UK_NAME' violated

```

 上一篇 下一篇 ![有帮助](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) 咨询热线
