我现在想给一个表加一列,但是这个列不能为null,而且给这个列设上默认值‘’
ALTER TABLE [dbo].[aaa] ADD bbb NVARCHAR(3) NOT NULL
GO
ALTER TABLE [dbo].[aaa] ADD CONSTRAINT [DF_aaa_bbb] DEFAULT ('') FOR [bbb]
GO
但是一执行,出现错误,说加一列的话不能设置成not null
我可以把这两句写成一句吗
谢谢了
------解决方案--------------------
alter table aaa add bbb nvarchar(3) not null constraint DF_aaa_bbb default('')
------解决方案--------------------
原来数据表已经有数据了,你直接那样加上不行的。
ALTER TABLE [dbo].[aaa] ADD bbb NVARCHAR(3)
GO
UPDATE [aaa] SET bbb=''
GO
ALTER TABLE [dbo].[aaa] alter column bbb NVARCHAR(3) NOT NULL
GO
ALTER TABLE [dbo].[aaa] ADD CONSTRAINT [DF_aaa_bbb] DEFAULT ('') FOR [bbb]
GO