SQL如何修改标识列ID内容,比如说我要将所有ID修改为乘以2再加3,语句怎样写啊?TABLE表中的第一列 ID 

解决方案 »

  1.   

    update tb set id=id*2+3 
      

  2.   

    可以先在图形界面(企业管理器/magagent studio)改成非标识 列, 修改数据后再把属性改回去
      

  3.   

    if object_id('tb')is not null drop table tb
    go
    create table tb(ID int identity(1,1),[Name] varchar(10))
    insert tb select 'A'
    insert tb select 'B'
    insert tb select 'C'
    alter table tb 
    add IDnew int
    go
    update tb set idnew=id*2+3
    go
    alter table tb
    drop column ID
    exec sp_rename 'tb.idnew','ID','column'
    go
    select * from tb
    /*注意: 變更物件名稱的任何部分將會破壞指令碼 (Script) 和預存程序 (Stored Procedure)。
    column 重新命名成 'ID'。
    Name       ID          
    ---------- ----------- 
    A          5
    B          7
    C          9
    */
      

  4.   

    还可以先导出数据为一个临时表,把原表删除,然后在临时表修改ID后,在开启INSERT IDENEIT ON属性,把值又导过回去,IDENEITY列是不允许用SQL去修改的.
      

  5.   

    既然不想的话,那你就界面修改去掉属性后,执行UPDATE语句后,再修改回来吧.
      

  6.   

    企业管理器属性, 或者managent studio 属性中, 有地方可以设置图形界面的超时, 设置为0就可以了
      

  7.   

    managent studio -- 工具 -- 选项 -- designes -- 表设计器和数据库设计器
    企业管理器的自己找一找吧, 没有环境
      

  8.   

    那你试着用语句做吧,下面是刚写的简单例子,你按你的需求改一下就好了:use tempdb
    gocreate table test
    (
    id int identity(1,1),
    name char(1)
    )
    go
    insert test select 'a'
    union all select 'b'
    goselect id = 1 * id,name into test_tmp from test
    gotruncate table test
    goupdate test_tmp
    set id = id * 2 + 3
    goset identity_insert test on
    goinsert test(id,name) select id,name from test_tmp
    goset identity_insert test off
    goselect * from test
    go/**
    5 a
    7 b
    **/drop table test_tmp
    drop table test
    go
      

  9.   

    新增加一列,叫tempID,把你转换后的ID放进去,然后删除ID列,改名tmpID列为ID列,然后加上主键之类的,不过ID*2+3难道不会有重复的数据吗?
      

  10.   

    自增列是不能修改
    如果不是自增列,就用下面的方法修改
    update table set id=id*2+3 
      

  11.   

    先将数据类型选为int,再改标示为是。
      

  12.   


    右击自增字段 → 选择修改(Modify)
     → Identity Specification(自增指定)项
     → 将Is Identify 修改为 No → 保存设置Ⅲ
    UPDATE Ta SET ID = ID * 2 + 3Ⅳ
    右击自增字段 → 选择修改(Modify)
     → Identity Specification(自增指定)项
     → 将Is Identify 修改为 Yes → 保存设置----Ⅰ查看含自增列的表
    SELECT OBJECT_NAME= OBJECT_NAME(OBJECT_ID),Column_NAME = NAME FROM sys.columns
    WHERE COLUMNPROPERTY(OBJECT_ID,name,'IsIdentity') > 0