對 SQL Server 中的識別列插入進行故障排除
在 SQL Server 中將值插入識別列時遇到問題? 本指南解釋了常見錯誤並提供了簡單的解決方案。
問題:
嘗試插入具有識別列指定值的行通常會導致以下錯誤:
伺服器:訊息 544,等級 16,狀態 1,第 1 行
當 IDENTITY_INSERT 設定為 OFF 時,無法在表格「table」中插入識別列的明確值。
理解錯誤:
識別列會自動產生唯一的順序值。 出現錯誤是因為 IDENTITY_INSERT
預設為 OFF
。此設定可防止直接將值指派給識別列,從而確保資料庫保持對序列的控制。
解:
要將特定值插入識別列中,您需要暫時覆寫此預設行為。 請依照以下步驟操作:
IDENTITY_INSERT
: 使用此指令暫時允許明確值插入:將 IDENTITY_INSERT Table1 設定為 ON
INSERT
語句中的所有欄位:插入表1(OperationID、OpDescription、FilterID)
VALUES (20, '層次結構更新', 1)
IDENTITY_INSERT
:插入後,立即停用IDENTITY_INSERT
以恢復預設行為:將 IDENTITY_INSERT Table1 設定為關閉
此程序可讓您在特定情況下管理識別列值,同時保持資料完整性。 請記住,插入完成後請務必停用 IDENTITY_INSERT
。
以上是為什麼我無法在身份列中插入值以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!