2014-02-17 45 views
1

我正在解決一個數據庫(不是我的專長),有一些表是自動遞增的ID列和一些表不是?某些表ID列不會自動增加,儘管是身份

現在所有的表都設置爲標識並標記爲禁止爲空。我正在使用SSMS,我還可以檢查或做些什麼來讓這些表回到自動遞增?

TIA

有趣的是,我...大概舊聞來你們。這個問題與現有數據有關。因此,例如一個有100行的表格而不是具有標識列設置。所以我會進入並用一個1遞增1的種子進行識別。那麼這個種子在某種程度上遇到了麻煩,因爲那裏已經有100行了。因此,對於我所有的桌子,我必須進行一次行計算,並從下一行開始播種。現在它按預期工作。

回答

0

具有IDENTITY列是表很簡單,如果你是看到自動遞增上插入一列的行爲,那麼我會首先確認你的列確實是一個IDENTITY柱:

use <Your Database Name>; 
go 

select 
    name, 
    is_identity 
from sys.columns 
where object_id = object_id('<Your Table Name>') 
order by column_id; 

替代<Your Database Nam><Your Table Name>爲相應的值。

另一種可能性是,「出現」爲非遞增的數據可能已推出到設置標識插入並推出顯式值的會話。

0

ALTER TABLE YourTable MODIFY COLUMN YourTable_id int(4) auto_increment

+0

好的我可以做到TSQL命令。出於好奇是SSree中的一種方式嗎? – GPGVM

+0

也許你可以在這裏找到:http://social.msdn.microsoft.com/Forums/fr-FR/a8922362-f22a-4ec5-a7eb-9a185ee19146/autoincrement-existing-column-sql-server?forum=transactsql –

+0

無論如何,這不是有效的TSQL。 –

相關問題