大家好,我现在有个表A,里面有字段 
COL1(VARCHAR(100)) --这个字段是主键,虽然类型是VARCHAR型,但是所存的数据都是数字型字符。我现在想把个字段修改成INT型,并且自增。请问该怎么做?COL2(VARCHAR(100))。--这个字段是附属的。

解决方案 »

  1.   


    ALTER TABLE [USER] 
    ALTER column COL1 INT IDENTITY(1,1) NOT NULL
      

  2.   

    直接在当前列上用语句貌似实现不了
    一般通过
    增加列 然后update数据
    然后删除列
    然后改列名
      

  3.   

    create table tb
    (
       col1 varchar(100) primary key,
       col2 varchar(100)
    )insert into tb
    select '1111','sdfasdf' union all
    select '11','sedf' union all
    select '222','sdf' union all
    select '11311','gf' alter table tb
    drop constraint PK__tb__357D0D3E29E1370Aalter table tb
    alter column col1 int not nullalter table tb
    add constraint pk_col1 primary key(col1)
      

  4.   

    #1. 可用SQL直接修改为INT类型的,但无法修改为IDENTITY
    ALTER TABLE tb1
    ALTER COLUMN col1 INT
    #2. 可在Design视图中修改(Is Identity) 属性为 Yes来达到目的
    #3. 要用SQL实现,只能先删除字段,再添加一个新的identity字段