-- AddingNotNullColumnToExistingTable.sql
-- 1. Add new column to the old table, as NULL for now
ALTER TABLE [dbo].[TableName]
ADD [ColumnName] INT NULL
-- 2. Set the default to zero for new rows
ALTER TABLE [dbo].[TableName]
ADD CONSTRAINT [DF_TableName_ColumnName]
DEFAULT(0) FOR [ColumnName]
-- 3. Change all existing null values to zeros
UPDATE [dbo].[TableName]
SET [ColumnName] = 0
WHERE [ColumnName] IS NULL
-- 4. Change column from NULL to NOT NULL
ALTER TABLE [dbo].[TableName]
ALTER COLUMN [ColumnName] INT NOT NULL
-- Undo (while testing)
ALTER TABLE [dbo].[TableName]
DROP CONSTRAINT [DF_TableName_ColumnName]
ALTER TABLE [dbo].[TableName]
DROP COLUMN [ColumnName]
Like this:
Like Loading...