2017-01-18 6 views
1

Es scheint nicht möglich zu sein, eine NULLABLE-Spalte zu deklarieren und eine UNIQUE-Einschränkung zu erstellen. Gibt es eine Möglichkeit, mit diesem Fall umzugehen? Ich brauche eine Spalte, die NULL-Werte oder UNIQUE-Werte enthalten kann. Vielleicht könnte ein Trigger dies tun? DankDashDB DB2 UNIQUE mit Nullwerten

Ich verwende DashDB

Antwort

1

Sie erwähnen nicht Ihre DB2-Plattform und -Version ..., die einen Unterschied machen könnte.

Aber versuchen, einen UNIQUE WHERE NOT NULL Index Hinzufügen ..

CREATE UNIQUE WHERE NOT NULL INDEX myindex ON mytable (columnn1)

+0

Die Version ist DashDB in IBM Bluemix Cloud (weiß nicht, welche Version es genau ist). – yelo3

+0

Eigentlich habe ich einen Fehler in meiner Frage bemerkt, die ich zuvor "Index" geschrieben habe, aber ich meinte "Constraint" – yelo3

1

Es ist möglich -

die Option aus

AUSGESCHLOSSEN NULL KEYS

in der INDEX-Syntax CREATE here

+0

Eigentlich habe ich einen Fehler in meiner Frage bemerkt, schrieb ich zuvor "Index", aber ich meinte "Constraint" – yelo3

+0

Derzeit können Sie tu dies mit einer einzigartigen Einschränkung. Da jedoch eine eindeutige Integritätsbedingung ein logisches Konstrukt ist (ihre physische Implementierung wird über einen eindeutigen Index erzwungen), führt das Erstellen des eindeutigen Index, wie er von @MichaelTiefenbacher vorgeschlagen wird, zu demselben Effekt. –