J'essaie de créer un nouveau tableau avec des colonnes suivies de leur contrainte comme indiqué ci-dessous.
Create tblTest(
columns..
..
..
Gender int,
Constraint DF_tblTest_Gender Default 3 For Gender,
..
..
..
)
Cependant, je reçois un message d'erreur près de la contrainte par défaut,
'Syntaxe incorrecte près de' pour ''
sql-server
sql-server-2016
constraint
Dhruv Raj
la source
la source
CREATE TABLE ...
instruction. Vous avez une erreur de syntaxe très basique.Réponses:
Vous pouvez nommer la contrainte en ligne:
Comme le
CREATE TABLE
montre la page msdn:Dans la même page, on peut trouver que les seules options pour
<table_constraint>
sontPRIMARY KEY
,FOREIGN KEY
et lesCHECK
contraintes:donc si vous voulez ajouter une contrainte par défaut (nommer ou non), les seules façons sont de le faire en ligne ou avec une
ALTER TABLE
instruction.la source
Vos commentaires sur les deux autres réponses affirment que vous ne pouvez pas nommer une contrainte par défaut lors de sa création "en ligne". Les deux réponses montrent que vous pouvez, en fait, donner un nom à la contrainte lors de sa création en ligne. J'ajouterai un troisième exemple, montrant les résultats.
Cela montre que le nom de la contrainte par défaut est
DF_Test_SomeData
:Résultats:
L'examen de l'explorateur d'objets dans SSMS montre le nom:
la source
Vous pouvez utiliser
default value
sur la définition du champ.Ou utilisez ALTER TABLE:
la source