老手看过来!

xiaoyezhi2010 2005-08-23 03:46:36
如现表dbo.doc_a中有一字段ID,现在要在查询分析器中将此字段加上IDENTITY属性,在ID字段不存在的情况下SQL语句如下:
ALTER TABLE dbo.doc_a ADD
ID INT IDENTITY
那么在ID字段已经存在的情况下,要如何才能修改为ID带IDENTITY属性的???
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alipaymate 2005-08-23
  • 打赏
  • 举报
回复
不好意思, 看错题目了.
alipaymate 2005-08-23
  • 打赏
  • 举报
回复
SET IDENTITY_INSERT tab ON

update id ...
insert data ...


SET IDENTITY_INSERT tab OFF
xiaoyezhi2010 2005-08-23
  • 打赏
  • 举报
回复
呵,先谢过楼上的,
我刚才没说清楚,是指表导过来以后原先有设默认值的丢失了,现在要在查询分析器里修改,加上默认值的设置,在这种情况如果也用删除后再增加这个默认值的字段的话,那表里原先的那些默认值的设置就丢了呀
vivianfdlpw 2005-08-23
  • 打赏
  • 举报
回复
默认值不会丢失:

create table tb
(
ID int,
name varchar(20) default 'ntbme',
col varchar(20) default 'col'
)

--删除字段
alter table tb drop column ID

--添加新字段
alter table tb add ID int identity

--测试
insert tb default values

--查看
select * from tb

--删除测试环境
drop table tb


--结果
/*
name col ID
-------------------- -------------------- -----------
ntbme col 1.00

(所影响的行数为 1 行)
*/
xiaoyezhi2010 2005-08-23
  • 打赏
  • 举报
回复
难道没有其他更好的办法了吗?主要是在导数据库时字段的IDENTITY和默认值的属性都会丢失呀,而且又不能用企业管理器(能用的话就不用这么愁了呀),如果用删除后再增加的话那像原先的那些默认值的设置信息不是全没了
rivery 2005-08-23
  • 打赏
  • 举报
回复
只能通过楼上的方法来处理,或者在企业管理器中手工修改,保存脚本来运行。
注意:原来有数据,要注意数据的处理。
vivianfdlpw 2005-08-23
  • 打赏
  • 举报
回复
--删除字段
alter table dbo.doc_a drop column ID

--添加新字段
alter table dbo.doc_a add ID int identity

34,590

社区成员

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

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