Gå till innehåll
SQL/databasfelFel
23505

23505 — Kränkning av unikhetsbegränsning

En INSERT eller UPDATE kränker en unikhetsbegränsning eller primärnyckel.

postgresql

Vad som orsakar detta fel

Värdet finns redan i en kolumn med UNIQUE-begränsning eller PRIMARY KEY.

Hur man åtgärdar det

Använd INSERT ... ON CONFLICT (PostgreSQL) eller ON DUPLICATE KEY UPDATE (MySQL). Kontrollera efter dubbletter före infogning.

Exempel

-- unique_violation
INSERT INTO users (email) VALUES ('dup@test.com');
-- Fix: use ON CONFLICT
INSERT INTO users (email) VALUES ('dup@test.com')
  ON CONFLICT (email) DO UPDATE SET updated_at = NOW();
Officiell dokumentation

Relaterade felkoder