---
title: "REPLACE - OceanBase 数据库 V4.3.4 | OceanBase 文档中心"
description: "REPLACE 描述 该语句用于替换表中的一个或多个记录。如果没有主键或唯一键冲突则插入记录，如果存在冲突则先删除冲突记录再插入新的记录。 格式 replace_stmt: REPLACE [INTO] table_factor [PARTITION (partition_name_list)] [(column_n…"
---
切换语言

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

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

# REPLACE

更新时间：2024-12-06 23:00:00

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.4/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/7600.replace-of-mysql-mode.md)  

## 描述

该语句用于替换表中的一个或多个记录。如果没有主键或唯一键冲突则插入记录，如果存在冲突则先删除冲突记录再插入新的记录。

## 格式

```sql
replace_stmt:
    REPLACE [INTO] table_factor [PARTITION (partition_name_list)] [(column_name_list)]
    {VALUES | VALUE} column_value_lists;

partition_name_list:
        partition_name [, partition_name ...]

column_name_list:
    column_name [, column_name ...]

column_value_lists:
        (column_value_list) [, (column_value_list) ...]

column_value_list:
    column_value [, column_value ...]

column_value:
    {expression | DEFAULT}

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| table_factor | 替换的表名。 |
| column_name_list | 指定替换数据的列。 |
| partition_name_list | 替换表指定的分区名。 |

## 示例

本示例基于如下表定义。

```sql
obclient> CREATE TABLE test (c1 INT PRIMARY KEY, c2 VARCHAR(40));
Query OK, 0 rows affected

```

1. 替换 `test` 表中的行一和行二的值分别为 `'hello alibaba'` 和 `'hello ob'`。

   ```sql
   obclient> REPLACE INTO test VALUES (1, 'hello alibaba'),(2, 'hello ob');
   Query OK, 2 rows affected
   Records: 2  Duplicates: 0  Warnings: 0

   ```
 2. 查看 `test` 表中的行一和行二内容。

   ```sql
   obclient> SELECT * FROM test;
   +----+---------------+
   | c1 | c2            |
   +----+---------------+
   |  1 | hello alibaba |
   |  2 | hello ob      |
   +----+---------------+
   2 rows in set

   ```
 3. 替换表 `test` 中的行三和行二的内容分别为 `'hello alibaba'` 和 `'hello oceanbase'`。

   ```sql
   obclient> REPLACE INTO test VALUES (3, 'hello alibaba'),(2, 'hello oceanbase');
   Query OK, 3 rows affected
   Records: 2  Duplicates: 1  Warnings: 0

   ```
 4. 查看 `test` 表中的行一、行二和行三的内容。

   ```sql
   obclient> SELECT * FROM test;
   +----+-----------------+
   | c1 | c2              |
   +----+-----------------+
   |  1 | hello alibaba   |
   |  2 | hello oceanbase |
   |  3 | hello alibaba   |
   +----+-----------------+
   3 rows in set

   ```

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