可以把数据插入另一个表例子,这里是临时表select identity(int,1,1) as id ,* into #temp from tablename select * from #temp
其实数据库都是有ROWID之类的特性作为元组的唯一标识。根据数据库第一范式,除了主键,其余属性都是唯一标量。这个其余的属性必然是唯一确定。declare @tb table(NO_PID varchar(50)) insert into @tb select 'Edwin' select NO_PID from @tb update @tb set NO_PID='KENT' where NO_PID='Edwin' select NO_PID from @tb insert into @tb select 'Edwin' select NO_PID from @tb delete from @tb where NO_PID='Edwin' select NO_PID from @tb
但是有完全一样的 就有问题了 因为系统不知道你要更改的是哪一个你还是新建一个主键id吧 吧所有数据select出来 新建一个带主键的表 insert进去
insert into @tb select 'Edwin'
select NO_PID from @tb
update @tb set NO_PID='KENT' where NO_PID='Edwin'
select NO_PID from @tb
insert into @tb select 'Edwin'
select NO_PID from @tb
delete from @tb where NO_PID='Edwin'
select NO_PID from @tb