В качестве опции вы можете изначально создать столбец, который может иметь значение Null, затем обновить столбец таблицы с действительными ненулевыми значениями и, наконец, столбец ALTER, чтобы установить ограничение NOT NULL:
ALTER TABLE MY_TABLE ADD STAGE INT NULL
GO
UPDATE MY_TABLE SET <a valid not null values for your column>
GO
ALTER TABLE MY_TABLE ALTER COLUMN STAGE INT NOT NULL
GO
Другой вариант - указать правильныйзначение по умолчанию для вашего столбца:
ALTER TABLE MY_TABLE ADD STAGE INT NOT NULL DEFAULT '0'
UPD: обратите внимание, что приведенный выше ответ содержит GO
, что необходимо при запуске этого кода на сервере Microsoft SQL.Если вы хотите выполнить ту же операцию на Oracle или MySQL, вам нужно использовать точку с запятой ;
, например:
ALTER TABLE MY_TABLE ADD STAGE INT NULL;
UPDATE MY_TABLE SET <a valid not null values for your column>;
ALTER TABLE MY_TABLE ALTER COLUMN STAGE INT NOT NULL;