怎么才能在有数据的表里添加不能为空的字段?

cqs76 2007-03-09 03:19:26
用语句实现。
...全文
383 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2007-03-09
  • 打赏
  • 举报
回复
--先插入列,然後給所有數據復制,然後修改為不能為Null

應為

--先插入列,然後給所有數據賦值,然後修改為不能為Null
paoluo 2007-03-09
  • 打赏
  • 举报
回复
有兩種方法,不過都不是那麼直接.

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
*/
naojin 2007-03-09
  • 打赏
  • 举报
回复
lz应该问的是如何在现有的数据表(有数据)里添加一个不能为空的字段吧?
hui_hui_2007 2007-03-09
  • 打赏
  • 举报
回复
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
dawugui 2007-03-09
  • 打赏
  • 举报
回复
不能为空的字段?

insert into tb(对应字段) values(对应值)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧