How do I determine if a column is an identity column in MSSQL 2000?

偶尔善良 提交于 2020-01-01 01:13:47

问题


I want to do this in code, not with ALT+F1.


回答1:


You can also do it this way:

select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')

Returns 1 if it's an identity, 0 if not.




回答2:


sp_help tablename 

In the output look for something like this:

 Identity     Seed     Increment     Not For Replication    
 -----------  -------  ------------  ---------------------- 
 userid       15500    1             0        



回答3:


Adjust the WHERE clause to suit:

select
    a.name as TableName,
    b.name as IdentityColumn
from
    sysobjects a inner join syscolumns b on a.id = b.id
where
    columnproperty(a.id, b.name, 'isIdentity') = 1
    and objectproperty(a.id, 'isTable') = 1



回答4:


As expansion on @Blogbeard's answer

If you like pure query and not inbuilt functions

select col_name(sys.all_objects.object_id, column_id) as id from sys.identity_columns 
join sys.all_objects on sys.identity_columns.object_id = sys.all_objects.object_id
where sys.all_objects.name = 'system_files'



回答5:


Identity is the value that is used for the very first row loaded into the table.

There is a microsoft article which can provide good knowledge about Identity:

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql-identity-property?view=sql-server-2017

Now, there are couple of ways for identifying which column is an identity column in a table:

  • We can use sql query: select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')
  • sp_help tablename


来源:https://stackoverflow.com/questions/188967/how-do-i-determine-if-a-column-is-an-identity-column-in-mssql-2000

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!