alter table alter column <columnname> <type> identity
select * into #tmp from yourtable drop table yourtable create table yourtable( id int identity(1, 1), ... ) set identity_insert yourtable on insert into yourtable( id, ... ) select id, ... from #tmp set identity_insert yourtable off
alter table 表名 alter 列名 int identity(1,1)
可以这样解决: select * into #tmp from yourtable truncate table yourtablealter table yourtable drop 列名 alter table yourtable add 列名 int identity(1,1)set identity_insert yourtable on insert into yourtable select * from #tmp set identity_insert yourtable off
alter table tablename alter colname int identity(1,1)
alter table table_name alter column column_name int identity(1,1) primary key
alter talbe 表名 alter column 列名 int identity(1,1)要把标识去掉,可以参考我的这帖,不过太过于麻烦: http://community.csdn.net/Expert/topic/3322/3322791.xml?temp=.3668329
select identity(int,1,1) as tempname,* into temptable from tablename drop table tablename exec sp_rename 'temptable','tablename'
to yjdn(无尽天空),yjr332533(圣骑士) ,Chuff(无名小卒),qq_net(小小) : 你们这样写不会错吗? alter talbe 表名 alter column 列名 int identity(1,1) 为什么我这样写在查询分析器中,有语法错误??? ALTER TABLE UserTblUser ALTER COLUMN [ID] bigint identity(1,1) ================================================================== 服务器: 消息 156,级别 15,状态 1,行 2 在关键字 'identity' 附近有语法错误。
drop table yourtable
create table yourtable( id int identity(1, 1), ... )
set identity_insert yourtable on
insert into yourtable( id, ... ) select id, ... from #tmp
set identity_insert yourtable off
select * into #tmp from yourtable
truncate table yourtablealter table yourtable drop 列名
alter table yourtable add 列名 int identity(1,1)set identity_insert yourtable on
insert into yourtable select * from #tmp
set identity_insert yourtable off
alter column
column_name int identity(1,1) primary key
http://community.csdn.net/Expert/topic/3322/3322791.xml?temp=.3668329
drop table tablename
exec sp_rename 'temptable','tablename'
你们这样写不会错吗?
alter talbe 表名 alter column 列名 int identity(1,1)
为什么我这样写在查询分析器中,有语法错误???
ALTER TABLE UserTblUser
ALTER COLUMN [ID] bigint identity(1,1)
==================================================================
服务器: 消息 156,级别 15,状态 1,行 2
在关键字 'identity' 附近有语法错误。
也许是你的bigint错了,
我们用的是int
对不起,楼上,
但是我还是有个印象我这样做过一次,成功了的,
回去细想一下什么原因
先给JeffCls(痛苦的人) 道个歉
但是直接在管理器中改是可行的...不知它生成的代码是什么,能不能看到...还有.. pbsql(风云) 大侠能不能说一下这种列为什么不能用代码直接更改呢?而在管理器中更改后..表中的数据依然是正确的呀
另一边打开SQL事件探查器,准备跟踪。然后在企业管理器里面操作增加或删除identity属性的操作,然后在事件探查器里面睽睽到底执行的什么代码不就知道了?
column_name INT IDENTITY(1,1)
CREATE TABLE [Test] (
[F1] [int] IDENTITY (1, 1) NOT NULL ,
[F2] [int] NULL ,
[F3] [int] NULL ,
[F4] [int] NULL
) ON [PRIMARY]
GO在企业管理器里把标识列去掉,以下是跟踪结果:一、
CREATE TABLE dbo.Tmp_Test
(
F1 int NOT NULL,
F2 int NULL,
F3 int NULL,
F4 int NULL
) ON [PRIMARY]二、
IF EXISTS(SELECT * FROM dbo.Test)
EXEC('INSERT INTO dbo.Tmp_Test (F1, F2, F3, F4)
SELECT F1, F2, F3, F4 FROM dbo.Test TABLOCKX')三、
DROP TABLE dbo.Test四、
declare @P1 int
set @P1=0
declare @P2 int
set @P2=16388
declare @P3 int
set @P3=8193
declare @P4 int
set @P4=0
exec sp_cursoropen @P1 output, N'EXECUTE sp_rename N''dbo.Tmp_Test'', N''Test'', ''OBJECT''
', @P2 output, @P3 output, @P4 output
select @P1, @P2, @P3, @P4