hud*_*hud 1 sql-server sql-server-2008-r2 ddl
我有一个现有的表,我在其中添加了一个NgoId数据类型为int. 我想NOT NULL在列中添加 as 。
当我添加这个时,我收到以下错误:
无法修改表。无法将值 NULL 插入列“NgoId”、表“CSR.dbo.Tmp_tbl_post_category”;列不允许空值。插入失败。该语句已终止。
请帮助如何添加 NOT NULL 列。
由于表中已有数据,因此无法添加NOT NULL字段,因为现有数据已违反NOT NULL约束。
因此,您有 2 个选择:
a) 添加具有DEFAULT值的列...
ALTER TABLE dbo.Tmp_tbl_post_category ADD NgoId INT DEFAULT 1;
Run Code Online (Sandbox Code Playgroud)
...然后运行更新语句以将值更正为实际值
b) 截断表中的数据,添加列,然后重新填充表...
TRUNCATE TABLE dbo.Tmp_tbl_post_category;
ALTER TABLE dbo.Tmp_tbl_post_category ADD NgoId INT;
INSERT INTO dbo.Tmp_tbl_post_category...
Run Code Online (Sandbox Code Playgroud)