Tous les produits
Search
Centre de documentation

AnalyticDB:REPLACE INTO

Dernière mise à jour :Aug 10, 2026

REPLACE INTO équivaut sémantiquement à une opération combinée DELETE + INSERT : elle écrase la ligne existante lorsque la clé primaire correspond, ou insère une nouvelle ligne en l'absence de correspondance.

Syntaxe

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

Paramètres

Paramètre Description
table_name Table cible.
column_name (Facultatif) Colonnes à renseigner. Omettez ce paramètre pour insérer des valeurs dans toutes les colonnes selon leur ordre de définition.
Constant|NULL|DEFAULT Valeur de chaque colonne : constante littérale, NULL ou valeur DEFAULT de la colonne.
Remarque

La clé primaire peut porter sur une seule colonne ou être composite (plusieurs colonnes).

Fonctionnement

Lors de l'exécution de REPLACE INTO, le système vérifie l'existence d'une ligne dotée de la même clé primaire :

  • Si la ligne existe : le système supprime la ligne existante puis insère la nouvelle.

  • Si la ligne n'existe pas : le système insère directement la ligne.

Exemples

Insérer une seule ligne en spécifiant les noms de colonnes

REPLACE INTO customer(customer_id,customer_name,phone_num,city_name,sex,id_number,home_address,office_address,age,login_time)
VALUES
(002367,'Bob','13900001234','Hangzhou',0,'987300','WestLake','CloudTown',23,'2018-03-02 10:00:00');

Insérer plusieurs lignes sans spécifier les noms de colonnes

Omettez la liste des colonnes si vous fournissez des valeurs pour toutes les colonnes dans l'ordre de leur définition.

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');