自增长列在sql数据库系统表里的标志是什么?
自增长列在sql数据库系统表里的标志是什么?
就是说如何字系统数据表里区分自增长列
问题点数:20、回复次数:3Top
1 楼WangZWang(先来)回复于 2005-08-26 13:59:32 得分 5
--查询表中identity列
select * from syscolumns
where id=object_id('表名') and
COLUMNPROPERTY(id,name,'IsIdentity')=1Top
2 楼MorningTea(一勺抹茶)回复于 2005-08-26 14:29:38 得分 10
没有前面直观,不过可以了解这种方法:
Syscolumns 状态字段的第8位(128)指示该列是否是一个 identity 列。对这个值实施一个逻辑与 (&),并将该结果包装在 Sign 函数中。如果该位被设置(二进制10000000),则意味该列是 identity 列。自增列的Syscolumns.status & 128 将返回值 128 。否则,将返回值 0 。1
所以也可以这样查询:
select * from syscolumns
where id=object_id('表名') and status & 128 = 128Top
3 楼iwl()回复于 2005-08-27 01:13:34 得分 5
select * from syscolumns
where id=object_id('表名') and
COLUMNPROPERTY(id,name,'IsIdentity')=1
Top




