Ergebnis 1 bis 2 von 2

Thema: unique-constraint und null-Werte

  1. #1
    merlin-hst ist offline Neuer Benutzer
    Registriert seit
    18.06.2007
    Beiträge
    13

    Standard unique-constraint und null-Werte

    Hi,

    ich habe eine (varchar) Spalte, die beliebig viele null-Werte enthalten kann. Aber jeder non-null-Wert darf nur genau einmal vorkommen. Z.B. darf der Wert '123' nur einmal in der Spalte verwendet werden, aber eben auch beliebig viele null-Werte. Mich würde jetzt das genaue Verhalten eines unique-constraints interessieren: Sind null-Werte erlaubt oder nicht ?

    Ich habe bereits in der Doku unter PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: CREATE TABLE nachgeschaut, bin mir aber nicht sicher, ob ich es richtig verstanden habe.

    Danke, Lothar

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von merlin-hst Beitrag anzeigen
    Hi,

    ich habe eine (varchar) Spalte, die beliebig viele null-Werte enthalten kann. Aber jeder non-null-Wert darf nur genau einmal vorkommen. Z.B. darf der Wert '123' nur einmal in der Spalte verwendet werden, aber eben auch beliebig viele null-Werte. Mich würde jetzt das genaue Verhalten eines unique-constraints interessieren: Sind null-Werte erlaubt oder nicht ?

    Ich habe bereits in der Doku unter PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: CREATE TABLE nachgeschaut, bin mir aber nicht sicher, ob ich es richtig verstanden habe.

    Danke, Lothar
    Warum testest Du es nicht?

    Code:
    test=*# create table blub (t text);
    CREATE TABLE
    test=*# create UNIQUE index idx_t on blub(t);
    CREATE INDEX
    test=*# insert into blub values (NULL);
    INSERT 0 1
    test=*# insert into blub values (NULL);
    INSERT 0 1
    test=*# insert into blub values (NULL);
    INSERT 0 1
    test=*# insert into blub values ('abc');
    INSERT 0 1
    test=*# insert into blub values (NULL);
    INSERT 0 1
    test=*# insert into blub values ('def');
    INSERT 0 1
    test=*# insert into blub values (NULL);
    INSERT 0 1
    test=*# insert into blub values ('abc');
    ERROR:  duplicate key violates unique constraint "idx_t"
    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. Frage Ein unique constraint auf Tabelle mit Null-Werten
    Von BlubberWolf im Forum SQL
    Antworten: 16
    Letzter Beitrag: 18.06.2009, 16:05
  2. Case-insensitive unique constraint
    Von fuppes im Forum Allgemeines
    Antworten: 2
    Letzter Beitrag: 09.10.2008, 14:35
  3. Antworten: 2
    Letzter Beitrag: 26.09.2008, 17:29
  4. Frage CHECK-Constraint vs. UNIQUE-Index
    Von symbiont im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 26.09.2008, 10:45
  5. Automatische Indexgenerierung bei Unique-Constraint etc.
    Von bierstuegbl im Forum Allgemeines
    Antworten: 8
    Letzter Beitrag: 30.11.2006, 12:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum