当前位置: 代码迷 >> Sql Server >> 如何才能在有数据的表里添加不能为空的字段
  详细解决方案

如何才能在有数据的表里添加不能为空的字段

热度:16   发布时间:2016-04-27 21:30:47.0
怎么才能在有数据的表里添加不能为空的字段?
用语句实现。

------解决方案--------------------
if exists (select * from dbo.sysobjects where id = object_id(N '[dbo].[TABLE1] ') and OBJECTPROPERTY(id, N 'IsUserTable ') = 1)
drop table [dbo].[TABLE1]
GO

CREATE TABLE [dbo].[TABLE1] (
[gh] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
------解决方案--------------------
有兩種方法,不過都不是那麼直接.

Create Table TEST
(ID Int)
Insert TEST Select 1
GO
--方法一
--先插入列,然後給所有數據復制,然後修改為不能為Null
Alter Table TEST Add [Name] Varchar(100)
Update TEST Set [Name] = ' '
Alter Table TEST Alter Column [Name] Varchar(100) Not Null

--方法二
--給插入的列加上默認值
Alter Table TEST Add [Address] Varchar(100) Not Null Default ' '
Select * From TEST
GO
Drop Table TEST
--Result
/*
ID Name Address
1
*/
  相关解决方案