sql >> Databáze >  >> RDS >> PostgreSQL

Částečný index se nepoužívá v klauzuli ON CONFLICT při provádění upsert v Postgresql

Chcete-li použít částečný jedinečný index, musíte použít predikát indexu. Přečtěte si v dokumentaci:

index_predikát

Používá se k umožnění odvození dílčích jedinečných indexů. Lze odvodit jakékoli indexy, které splňují predikát (které ve skutečnosti nemusejí být částečné indexy). Následuje formát CREATE INDEX.

V tomto případě:

INSERT INTO key_value_pair (key, value, is_active) VALUES ('temperature','20', false) 
ON CONFLICT (key) WHERE is_active
DO UPDATE
SET value = '33', is_active = true;


  1. Pokus o získání vlastnosti neobjektu - CodeIgniter

  2. SQLSTATE[42000]:Chyba syntaxe nebo porušení přístupu:1064 Máte chybu v syntaxi SQL — PHP — PDO

  3. mysql:získat počet záznamů mezi dvěma datum-čas

  4. 3 způsoby, jak převést celé číslo na desítkové v SQL Server