因为改版重新设计了数据库,在导入值的时候主键之一(多主键,非自增)都导成了0
请问各位有没有可以更新一下表里的这个主键值吗??等于行号就行
有主表和副表
比如:
a表
id sid tid name ..
0 1 1 XXXX
0 2 1 xxxxx
....
b表
id sid tid other
0 1 1 YYYYY
0 2 1 yyyyy
------解决思路----------------------
创建表的时候,先不标记主键, 等导入完数据后,再来标记主键。
------解决思路----------------------
设置为自增列就行了啊。
不然就用rownumber编号,然后update成rownumber就好。
------解决思路----------------------
declare @data table
(
id int,
sid int,
tid int,
name varchar(100)
)
insert into @data
select 0, 1, 1, 'XXXX' union all
select 0, 2, 1, 'xxxxx'
;with temp as
(
select *, rownumber = ROW_NUMBER()over(order by id,sid) from @data
)
update @data
set id = temp.rownumber
from temp
select * from @data
------解决思路----------------------
先设置为自增,然后再取消自增。
------解决思路----------------------
或者
update a set a.ID=ROW_NUMBER()over(order by sid asc)
------解决思路----------------------
设置自增列为主键一点意义也没有