I want to do this in code, not with ALT+F1.
How do I determine if a column is an identity column in MSSQL 2000?
Asked Answered
See also How to identify whether the table has identity column and How do you determine what SQL Tables have an identity column programatically –
Pleiad
You can also do it this way:
select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')
Returns 1 if it's an identity, 0 if not.
Just in case your table is not in the default schema (dbo), you need to specify it in the table name
mySchema.myTable
–
Shantae sp_help tablename
In the output look for something like this:
Identity Seed Increment Not For Replication
----------- ------- ------------ ----------------------
userid 15500 1 0
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
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'
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:
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
In Sql Server 2016 you can check if a field is identity by querying against the sys.all_columns table:
SELECT * from sys.all_columns where object_id = OBJECT_ID('TableName') AND [Name] = 'ColumnName' AND is_identity = 1
© 2022 - 2024 — McMap. All rights reserved.