Я понимаю, что при добавлении столбца в таблицу, содержащую данные на SQL-сервере, столбец должен иметь параметр NULL или значение по умолчанию. В противном случае SQL Server мог бы использовать новые строки?Невозможно добавить столбец «NOT NULL» в пустую таблицу в SQL Server
Я в недоумении относительно того, почему я не могу добавить столбец NOT NULL в пустую таблицу. Я пробовал это в двух экземплярах SQL 2008 и одном экземпляре SQL 2005 без проблем. Однако у клиента с SQL 2000 есть эта проблема. Это связано с SQL 2000 или это вариант, который вы можете отключить. Будем надеяться, что это вариант.
Select @@Version
Microsoft SQL Server 2000 - 8.00.760 (Intel X86) 17 декабря 2002 14:22:05 Copyright (с) 1988-2003 Microsoft Corporation Developer Edition на Windows, NT 5.1 (Build 2600: Service Pack 3)
Select count(*) from actinv
0
ALTER TABLE [ActInv] ADD [BATCHNUMBER] NVARCHAR(50) NOT NULL
Msg 4901, Level 16, State 1, Line 1 ALTER TABLE позволяет только столбцы, которые будут добавлены, которые могут содержать неопределенные значения или иметь уточненное определение DEFAULT. Столбец «BATCHNUMBER» не может быть добавлен в таблицу «ActInv», потому что он не разрешает NULL и не определяет определение DEFAULT .
Я знаю, это звучит глупо, но это таблица действительно пуста ? –
Ну, я делаю выбор (*) из ActInv и он возвращает ноль! – user69374
Счетчик выборки (*) возвращает только записи, где хотя бы один столбец не равен нулю. Я знаю, звучит глупо, но вместо этого попробуйте выбрать * из таблицы. –