From: | Tobias Bußmann <e(dot)t(dot)bussmann(at)ing(dot)twinwave(dot)net> |
---|---|
To: | <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: Doppeleintraege in der postgres DB mit unique vermeiden |
Date: | 2006-11-16 21:15:56 |
Message-ID: | 068201c709c4$6a9220b0$0164a8c0@LaptopTB |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Nabnd zusammen,
Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
> rene hankel wrote:
>> -nutzer hat loginname <- dieser koennte/muesste unique sein
>> -tabelle hat noch ein archivbit fuer loeschen von nutzern
>> -diese nutzer sollen vorhanden bleiben um zum bleistift verknuepfte
>> aenderungen dokumentieren zu koennen
>> -dies kollediert aber mit dem unique des loginnames, dieweil der
>> loginname eines
>> geloeschten accounts, ja wiederverwendet werden koennte
wie willst du die dann zuordnen? gibt es noch einen (künstlichen) primary
key, z.B. eine nutzer-nr?
> Dann halt Unique Constraint auf beide Spalten zusammen setzen.
hm, dann kann ja nur je ein gelöschter Nutzer mit dem Namen existieren.
Wie wärs denn mit einem partial index mit unique?
CREATE TABLE "playground"."table1" (
"name" VARCHAR,
"del" BOOLEAN NOT NULL
) WITH OIDS;
CREATE UNIQUE INDEX "table1_idx" ON "playground"."table1"
USING btree ("name")
WHERE (del = false);
hth
Tobi
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2006-11-16 22:47:47 | Re: Doppeleintraege in der postgres DB mit unique vermeiden |
Previous Message | Peter Eisentraut | 2006-11-16 20:14:06 | Re: Doppeleintraege in der postgres DB mit unique vermeiden |