Re: Doppeleintraege in der postgres DB mit unique vermeiden

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

In response to

Responses

Browse pgsql-de-allgemein by date

  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