sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL Upsert (bij conflict) met dezelfde waarden in Invoegen en bijwerken

Gebruik de excluded zoekwoord:

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;

Dit werkt ook correct met meerdere rijen, bijvoorbeeld:

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. 2 uur toevoegen aan de huidige tijd in MySQL?

  2. Hoe OUTPUT gebruiken om nieuwe en oude ID's vast te leggen?

  3. Wanneer wordt de functievolgorde van MySQL ORDER BY RAND() uitgevoerd?

  4. Effectief het dichtstbijzijnde (afstands)record uit een database selecteren