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

后端 未结 5 1136
感情败类
感情败类 2021-02-05 01:47

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

相关标签:
5条回答
  • 2021-02-05 02:27

    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
    
    0 讨论(0)
  • 2021-02-05 02:29

    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
    0 讨论(0)
  • 2021-02-05 02:33

    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'
    
    0 讨论(0)
  • 2021-02-05 02:38

    You can also do it this way:

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

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

    0 讨论(0)
  • 2021-02-05 02:50
    sp_help tablename 
    

    In the output look for something like this:

     Identity     Seed     Increment     Not For Replication    
     -----------  -------  ------------  ---------------------- 
     userid       15500    1             0        
    
    0 讨论(0)
提交回复
热议问题