Vorrei trovare un modo per archiviare più indirizzi per un argomento nel mio database, con un solo indirizzo predefinito per argomento.Postgres Unique Constraint su due colonne: Integer e Boolean
Per tagliare una lunga storia breve, consente di dire che abbiamo un tavolo:
CREATE TABLE test
(
id integer NOT NULL,
active boolean NOT NULL,
CONSTRAINT pk_id PRIMARY KEY (id)
)
per ogni ID nella tabella, ci deve essere al massimo 1 vero valore attivo.
Come posso ottenere questo risultato?
Grazie.
In realtà non devi fare * qualsiasi cosa * poiché 'id' essendo la chiave primaria lo rende unico così * non * può * essere due righe con lo stesso ID. – ThiefMaster
Se non si desidera che 'id' sia come primario, è necessario scrivere un trigger: http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html ma questo probabilmente non è ciò che si desidera. –