すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:REPLACE INTO

最終更新日:Mar 28, 2026

REPLACE INTO は、意味的には DELETE + INSERT 操作の組み合わせです。プライマリキーが一致する既存の行がある場合はその行を上書きし、一致する行がない場合は新しい行を挿入します。

構文

REPLACE INTO table_name [(column_name,...)] VALUES ({Constant|NULL|DEFAULT},...),(...),...

パラメーター

パラメーター説明
table_name対象テーブル。
column_name(省略可)値を設定するカラム。すべてのカラムに定義順に値を挿入する場合は省略します。
Constant|NULL|DEFAULT各カラムの値。リテラル定数、NULL、またはカラムの DEFAULT 値のいずれかを指定します。
説明

プライマリキーは、単一カラムのプライマリキーでも、複数カラムにまたがる複合プライマリキーでも構いません。

仕組み

REPLACE INTO を実行すると、システムは同じプライマリキーを持つ行がすでに存在するかどうかをチェックします。

  • 行が存在する場合 — システムは既存の行を削除し、新しい行を挿入します。

  • 行が存在しない場合 — システムは行を直接挿入します。

使用例

カラム名を指定して単一行を挿入

REPLACE INTO customer(customer_id,customer_name,phone_num,city_name,sex,id_number,home_address,office_address,age,login_time)
VALUES
(002367,'田中一郎','13900001234','杭州',0,'987300','西湖','クラウドタウン',23,'2018-03-02 10:00:00');

カラム名を省略して複数行を挿入

すべてのカラムに定義順に値を提供する場合は、カラムリストを省略できます。

REPLACE INTO customer VALUES
(002367,'John','13900001111','Hangzhou',0,'987300','WestLake','CloudTown',23,'2018-03-02 10:00:00'),
(002368,'Adam','13900002222','Hangzhou',0,'987300','WestLake','CloudTown',28,'2018-08-01 11:00:00'),
(002369,'Brook','13900003333','Hangzhou',1,'987300','WestLake','CloudTown',35,'2018-09-12 08:11:00');