Ограничение SQL по умолчанию не работает на внешний ключ - PullRequest
0 голосов
/ 09 февраля 2019

Я добавил ограничение по умолчанию для существующего столбца внешнего ключа, но оно не работает.

Я попытался добавить ограничение по умолчанию для столбца внешнего ключа, но его значение по умолчанию изменилось.Столбец установлен как not null Int.

ALTER TABLE [A] ADD  CONSTRAINT [default_value]  DEFAULT ((3)) FOR [ForeignKeyColumn]
GO

Я попытался установить по умолчанию значение 3, но по умолчанию оно равно 0.

1 Ответ

0 голосов
/ 09 февраля 2019

Из вашего комментария:

Я вставляю это как пустую строку.

Хорошо, если вы делаете:

insert into a (ForeignKeyColumn)
    values ('');

И ForeignKeyColumn - это число, тогда SQL преобразует '' в число.Вуаля, это число 0 - поэтому не требуется никакого значения по умолчанию.

Оставьте ForeignKeyColumn из insert, если вы хотите значение по умолчанию.Или используйте default:

insert into a (ForeignKeyColumn)
    values (default);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...