C字段的类型是什么?如果是varchar类型,可以使用new_id()。

解决方案 »

  1.   

    如果只是想不同,用libin_ftsafe(子陌红尘)的方案就可以了
      

  2.   

    如果想用数字,而且不同,就用把那个字段设为IDENTITY如果就是想使用随机数,可以用RAND,具体方法为:
    1、先将此字段全部更新为0,然后加索引
    2、使用一个适当的随机数SEED,生成随机数后,判断此随机数是否已经使用,然后update一条记录,可能用游标会比较容易处理
      

  3.   

    DECLARE @TEMP TABLE(C INT IDENTITY(1, 1), A NVARCHAR(100))INSERT INTO @TEMP
    SELECT A FROM Table1UPDATE Table1 SET C = B.C
    FROM @TEMP AS B
    WHERE Table1.A = B.A以上是使用IDENTITY做的
    有一个假设条件,即你的A为PK或A具有唯一性如果没有的话,可能需要对此进行调整或使用另外的方法
      

  4.   

    Create Table TEST(A Int,B Varchar(10),C Varchar(36))
    Insert TEST Select 1,'aa',NewID()
    Union All Select 2,'bb',NewID()
    Union All Select 3,'cc',NewID()
    Union All Select 4,'dd',NewID()
    Union All Select 5,'ee',NewID()
    GO
    Select *From TEST
    GO
    Drop Table TEST
    --Result
    /*
    A B C
    1 aa 43B5CA6B-C3D7-4A04-9075-F179B02F8A44
    2 bb 30190F6B-EB8E-4DD0-A4D4-FD80CFA354C2
    3 cc 7E5DC850-997C-4B4F-B5A9-6B1BD2E6D1F5
    4 dd 02138DBE-EBA2-4CC0-A5A7-7C903F29A883
    5 ee 3233571E-6A7E-4B74-B400-55881D112D29
    */