我有一套表,我將清除並上傳新的數據。其中之一,Person具有指向它的外鍵,即使其他表爲空,也可以防止使用TRUNCATE表。主鍵重置問題與外鍵和刪除
我在關閉外鍵檢查以解決此問題後使用了DELETE FROM。這適用於除了當我插入新的值,他們開始在舊的價值上升,我需要他們重置從1開始(或至少一些一致的可預測值)
DBCC CHECKIDENT([Person],RESEED, - 1);或DBCC CHECKIDENT([Person],RESEED,0);我所看到的建議在其他地方重新標識,但給我任何有用的結果而不是產生:
Checking identity information: current identity value 'NULL'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
我怎樣才能既得到截斷與外鍵指着我的表或使用delete來清除工作表獲得主鍵的自動增量重置並從1開始?
您是否嘗試在運行'DBCC'命令後插入記錄? 「NULL」的標識值表明種子已被正確重置。 – Jaco
你的意思是在同一個連接?因爲我之後通過運行我正在測試的代碼插入記錄,並從PersonId最初的位置開始獲取結果。 如果它只在相同的連接中有效,可以解釋我遇到的麻煩。 – lathomas64
我試着做一個刪除並插入相同的連接,它的工作,然後我回到種子,並插入單獨的連接,這也工作太多,我無法讓它回到破碎的狀態,以驗證實際上修復了什麼。我猜想服務器出現了一些奇怪的內部狀態,因爲我之前嘗試的那個工作不正常,現在工作正常。 – lathomas64