Я пытаюсь создать новую таблицу со столбцами, за которыми следуют их ограничения, как показано ниже.
Create tblTest(
columns..
..
..
Gender int,
Constraint DF_tblTest_Gender Default 3 For Gender,
..
..
..
)
Тем не менее, я получаю сообщение об ошибке около ограничения по умолчанию, как,
'Неверный синтаксис рядом с' for ''
sql-server
sql-server-2016
constraint
Дхрув Радж
источник
источник
CREATE TABLE ...
заявления. У вас очень простая синтаксическая ошибка.Ответы:
Вы можете назвать ограничение встроенным:
Как
CREATE TABLE
показывает страница msdn:В одной и той же странице, мы можем найти , что единственные варианты
<table_constraint>
являютсяPRIMARY KEY
,FOREIGN KEY
иCHECK
ограничения:поэтому, если вы хотите добавить ограничение по умолчанию (именование или нет), единственный способ сделать это - встроить или с помощью
ALTER TABLE
оператора.источник
В ваших комментариях к двум другим ответам утверждается, что вы не можете назвать ограничение по умолчанию при его создании «встроенным». Оба ответа показывают, что вы можете фактически указать имя для ограничения при его создании inline. Я добавлю третий пример, показывающий результаты.
Это показывает, что имя ограничения по умолчанию
DF_Test_SomeData
:Результаты:
Глядя на проводник объектов в SSMS показывает имя:
источник
Вы можете использовать
default value
на определение поля.Или используйте ALTER TABLE:
источник