--查询表中identity列select * from syscolumns
where id=object_id('表名') and 
       COLUMNPROPERTY(id,name,'IsIdentity')=1

解决方案 »

  1.   

    没有前面直观,不过可以了解这种方法: Syscolumns 状态字段的第8位(128)指示该列是否是一个 identity 列。对这个值实施一个逻辑与 (&),并将该结果包装在 Sign 函数中。如果该位被设置(二进制10000000),则意味该列是 identity 列。自增列的Syscolumns.status & 128 将返回值 128 。否则,将返回值 0 。1所以也可以这样查询:select * from syscolumns
    where id=object_id('表名') and status & 128 = 128
      

  2.   

    select * from syscolumns
    where id=object_id('表名') and 
           COLUMNPROPERTY(id,name,'IsIdentity')=1