如何修改表字段类型。

abcd_net 2003-11-24 11:24:00
如何修改表字段类型。
该类型已经定为主键,并且表中有数据。
要将该字段的自动增加去掉。
...全文
2469 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
seekmoon 2003-12-01
  • 打赏
  • 举报
回复
ding
CrazyFor 2003-11-25
  • 打赏
  • 举报
回复
ALTER TABLE 表 ADD 编号1 int
go
update 表 set 编号1=编号
go
ALTER TABLE 表 DROP COLUMN 编号
go
exec sp_rename '表.编号1','编号'
go
zjcxc 元老 2003-11-25
  • 打赏
  • 举报
回复
建议企业管理器中修改.

安全方便.
tangxc2003 2003-11-25
  • 打赏
  • 举报
回复
1:可以在企业管理器中去主键的属性去掉
ALTER TABLE table2 ADD ALTER COLUMN column_name
new_data_type [ ( precision [ , scale ]
}
ALTER TABLE table2 DROP COLUMN col_name

2:在企业管理器中修改.
pengdali 2003-11-24
  • 打赏
  • 举报
回复
忘了not null

--要将该字段的自动增加去掉。

declare @a varchar(200)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('你的表') and a.name='你的列' and a.id=b.id and b.constid=c.id and c.name like 'PK%'

if @a is not null
exec('alter table 你的表 drop constraint '+@a)

go
alter table 你的表 add id1 int not null
go
update 你的表 set id1=你的列
go
alter table 你的表 drop column 你的列
go
exec sp_rename '你的表.id1','你的列'
go
alter table 你的表 add constraint pk_你的表_你的列 primary key (你的列)
friendliu 2003-11-24
  • 打赏
  • 举报
回复
可以在企业管理器中去主键的属性去掉
ALTER TABLE table2 ADD ALTER COLUMN column_name
new_data_type [ ( precision [ , scale ]
}
ALTER TABLE table2 DROP COLUMN col_name

pengdali 2003-11-24
  • 打赏
  • 举报
回复

declare @a varchar(200)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('表名') and a.name='主鍵列名' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
if @a is not null

exec('alter table 表名 drop constraint '+@a)


alter table 表名 add id1 int

update 表名 set id1=主鍵列名

alter table 表名 drop column 主鍵列名

exec sp_rename '表名.id1','主鍵列名'

alter table 表名 add constraint pk_表名_主鍵列名 primary key (主鍵列名)
pengdali 2003-11-24
  • 打赏
  • 举报
回复
--要将该字段的自动增加去掉。


declare @a varchar(20)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('表名') and a.name='主鍵列名' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
if @a is not null

exec('alter table 表名 drop constraint '+@a)


alter table 表名 add id1 int

update 表名 set id1=主鍵列名

alter table 表名 drop column 主鍵列名

exec sp_rename '表名.id1','主鍵列名'

alter table 表名 add constraint pk_表名_主鍵列名 primary key (主鍵列名)
abcd_net 2003-11-24
  • 打赏
  • 举报
回复
pengdali(大力 V3.0)的方法不行。
会报错的。

该类型已经定为主键,并且表中有数据。
pengdali 2003-11-24
  • 打赏
  • 举报
回复
该类型已经定为主键,并且表中有数据:

declare @a varchar(20)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('表名') and a.name='主鍵列名' and a.id=b.id and b.constid=c.id and c.name like 'PK%'

if @a is not null
exec('alter table 表名 drop constraint '+@a)
pengdali 2003-11-24
  • 打赏
  • 举报
回复
如何修改表字段类型:

--加
ALTER TABLE table2 ADD row_id bigint

--删
ALTER TABLE table2 DROP COLUMN row_id

--改
ALTER TABLE 你的表 ALTER COLUMN 列名 你的类型 null

34,668

社区成员

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

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