Как установить атрибут в таблице, чтобы ограничение не было нулевым - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть атрибут A (который является внешним ключом, который ссылается на атрибут A в таблице C) с типом данных int в моей таблице B

Я пытался

ALTER TABLE B ALTER COLUMN A int not null;

, но это не такне работает, это дает мне ошибку

Я пытался

ALTER TABLE B MODIFY (A INT NOT NULL);

хорошо, но это также дает ошибку.

Как мне поступить так?

1 Ответ

0 голосов
/ 04 декабря 2018

Во-первых, либо удалите все строки, которые в настоящее время имеют значения NULL в вашем столбце, либо обновите значение этого столбца, например, до 0.

После этого вы можете продолжить с изменения столбца на NOTNULL.

Я не знаю вашу СУБД.

Для Oracle это будет:

ALTER TABLE B MODIFY A NUMBER NOT NULL

Для SQL Server:

ALTER TABLE B ALTER COLUMN A INTEGER NOT NULL

Я надеюсь, что помог!

...