-- 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]