sql >> Database >  >> RDS >> PostgreSQL

Postgresql dwingt een unieke tweerichtingscombinatie van kolommen af

Een variatie op de oplossing van Neil die geen uitbreiding nodig heeft is:

create table friendz (
  from_id int,
  to_id int
);

create unique index ifriendz on friendz(greatest(from_id,to_id), least(from_id,to_id));

Met de oplossing van Neil kun je echter een willekeurig aantal kolommen gebruiken.

We vertrouwen allebei op het gebruik van expressies om de index te bouwen die is gedocumenteerdhttps://www.postgresql.org/docs/current/indexes-expressional.html



  1. Moeten we niet null opgeven voor de primaire sleutel? Oracle/SQL

  2. SQL GROUP BY-clausule voor beginners

  3. Bereken een lopend totaal in SQL Server

  4. alfa en numeriek splitsen met sql