Когда я пытаюсь добавить этот столбец:
Добавить столбец не пустой, не по умолчанию
alter table APL ADD CODE NUMERIC(2) NOT NULL
я получаю эту ошибку:
ALTER TABLE 'APL 'failed. Default clause is required in order to add non-NULL column 'CODE'.
Я знаю, что я могу добавить по умолчанию, и он будет работать, но я НЕ ХОЧУ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ в этой coloumn, я читал, и я слышал, что есть способ, которым я могу добавить столбец со значением по умолчанию.
Кто-нибудь знает как?
Edit:
Ill объяснить больше о моем случае.
Этот столбец был создан по ошибке как NULL (я не знаю почему) и его часть первичного ключа (к счастью, у меня нет дубликата), поэтому я должен изменить его на NOT NULL, поэтому я могу назначить его.
Его действительно старый столбец, и я не знаю, какой тип по умолчанию я должен добавить, потому что, если я добавлю неправильное значение, приложения могут вызвать проблемы.
но этот метод делает NULL значение существует в столбце, NOT NULL – DevZer0
@ devzer0 что вы имеете в виду? Если я попытаюсь вставить значение NULL в этот столбец, я получу ошибку, чтобы этот столбец не допускал нулевые значения. – Moudiz
@moudiz вы должны рассмотреть существующие строки, которые имеют нулевые значения в столбце COMP_CODE? Если бы это было разрешено, то они нарушили бы это условие. – AdamH