批量更新一个字段值, 例如。
table1  (表名)
id     user   pass
23      aa     aa
45      bb     bb
43      cc     cc我想批量更新 ID 字段下的 数据。 语句怎么写啊, 比如 更新 ID字段下的 值 为 1、2、3、这样自动递增,谢谢拉

解决方案 »

  1.   

    ---例子
    CREATE TABLE table1(id INT, [user] VARCHAR(10),pass VARCHAR(10))
    INSERT table1
    SELECT 23      ,'aa',     'aa'
    UNION SELECT 45      ,'bb',     'bb'
    UNION SELECT 43      ,'cc',     'cc'
    UPDATE T
    SET ID=ISNULL((SELECT COUNT(1) FROM TABLE1 WHERE T.ID>ID),0)+1
    FROM TABLE1 TSELECT * FROM TABLE1DROP TABLE table1
      

  2.   

    ---例子CREATE TABLE table1(id INT, [user] VARCHAR(10),pass VARCHAR(10))
    INSERT table1
    SELECT 23      ,'aa',     'aa'
    UNION SELECT 45      ,'bb',     'bb'
    UNION SELECT 43      ,'cc',     'cc'
    UPDATE T
    SET ID=ISNULL((SELECT COUNT(1) FROM TABLE1 WHERE T.ID>ID),0)+1
    FROM TABLE1 TSELECT * FROM TABLE1DROP TABLE table1/*
    id          user       pass       
    ----------- ---------- ---------- 
    1           aa         aa
    2           cc         cc
    3           bb         bb(3 row(s) affected)
    */
      

  3.   

    将id列改变成自增列`
    alter table table1  alter column id int IDENTITY (1, 1) NOT NULL 
      

  4.   

    题看错。
    update table1
    set id=(select count(1) from product where id<a.id)+1 from table1 a
      

  5.   

    alter table table1  drop column id 
    alter table table1 add column id int IDENTITY (1, 1) NOT NULL
      

  6.   

    declare @i int
    set @i=0
    update table set id=@i,@i=@+1
      

  7.   

    declare @i int
    set @i=0
    update table set id=@i,@i=@i+1
      

  8.   

    --奇妙的自增
    select (SELECT COUNT(1) FROM TABLE1 WHERE T.ID>ID)
    FROM TABLE1 T
    我怎么就想不明白,这是啥意思,哪位高人解释一下:)
      

  9.   

    declare @myid int
    set @myid=0
    update table1 set id=@myID,@myID=@myID+1