如何用sql语句取消标识列,再把他改成字符列
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
如果ID(int)是自增长标识列,现在我想把他改成字符列,长度32位,请教大侠语句是怎么样的 方法一: --创建测试表 CREATE TABLE t1(ID int IDENTITY,A int) GO --插入记录 INSERT t1 VALUES(1) GO --1. 将IDENTITY(标识)列变为普通列 ALTER TABLE t1 ADD ID_temp int GO UPDATE t1 SET ID_temp=ID ALTER TABLE t1 DROP COLUMN ID EXEC sp_rename N't1.ID_temp',N'ID',N'COLUMN' INSERT t1 VALUES(100,9) GO --2. 将普通列变为标识列 CREATE TABLE t1_temp(ID int,A int IDENTITY) SET IDENTITY_INSERT t1_temp ON INSERT t1_temp(ID,A) SELECT * FROM t1 SET IDENTITY_INSERT t1_temp OFF DROP TABLE T1 GO EXEC sp_rename N't1_temp',N't1' INSERT t1 VALUES(109999) GO --显示处理结果 SELECT * FROM t1 /*--结果: ID A ----------------- ----------- 1 1 100 9 109999 10 --*/ 方法二: --假设ID为自增字段
--添加新列 alter table tablename add id1 varchar(32) go --把原值给新列 update tablename set id1=id go --去掉旧列 alter table tablename drop column id go --命名新列 exec sp_rename 'tablename.id1','id' 该文章在 2012/2/11 0:18:12 编辑过
|
关键字查询
相关文章
正在查询... |