2017-01-18 2 views
1

il ne semble pas possible de déclarer une colonne NULLABLE et de créer une contrainte UNIQUE. Existe-t-il un moyen de traiter ce cas? J'ai besoin d'une colonne pouvant contenir des valeurs NULL ou des valeurs UNIQUES. Peut-être qu'un déclencheur pourrait le faire? MerciDashDB DB2 UNIQUE avec des valeurs NULL

J'utilise DashDB

Répondre

1

Vous ne mentionnez pas votre plate-forme DB2 et la version ... qui pourrait faire une différence.

Mais essayez d'ajouter un index UNIQUE WHERE NOT NULL ..

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

+0

La version est DashDB sur le cloud IBM Bluemix (ne sait pas de quelle version il s'agit exactement). – yelo3

+0

En fait, j'ai remarqué une erreur dans ma question J'ai déjà écrit "index" mais je voulais dire "contrainte" – yelo3

1

Il est possible - Vérifiez l'option

EXCLURE CLÉS NULL

dans la syntaxe CREATE INDEX here

+0

En fait, j'ai remarqué une erreur dans ma question J'ai déjà écrit "index" mais je voulais dire "contrainte" – yelo3

+0

Actuellement vous pouvez Ne faites pas cela avec une contrainte unique. Cependant, comme une contrainte unique est une construction logique (son implémentation physique est imposée via un index unique), la création de l'index unique comme le suggère @MichaelTiefenbacher aura le même effet. –