sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL Upsert (On Conflict) med samme værdier i Insert og Update

Brug den excluded søgeord:

INSERT INTO cars 
  (car_id, car_type, car_model) 
values
  (1, 'tesla', 'model s')
ON CONFLICT (car_id) DO UPDATE SET 
  car_type = excluded.car_type,
  car_model = excluded.car_model;

Dette fungerer også korrekt med flere rækker, f.eks.:

INSERT INTO cars 
  (car_id, car_type, car_model) 
values
  (1, 'tesla', 'model s'), 
  (2, 'toyota', 'prius')
ON CONFLICT (car_id) DO UPDATE SET 
  car_type = excluded.car_type,
  car_model = excluded.car_model;



  1. Triggere og bordlås i MySQL

  2. Hvordan håndterer man fejl for duplikerede poster?

  3. xml til oracle konvertering

  4. Hvordan filtreres GRUPPE BY-post yderligere i mysql?