sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL Upsert (On Conflict) med samma värden i Insert and Update

Använd den uteslutna nyckelord:

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;

Detta fungerar också korrekt med flera rader, t.ex.:

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. Långsam sökning efter indexfråga LIKE% MYSQL

  2. Hantera en GDI-resursläcka

  3. MySQL:Få start- och sluttidsstämpel för varje dag

  4. Det gick inte att skapa en rumslig databas med EXTENSIONS