首頁 > 資料庫 > mysql教程 > 為什麼我無法在身份列中插入值以及如何修復它?

為什麼我無法在身份列中插入值以及如何修復它?

Barbara Streisand
發布: 2025-01-19 09:31:09
原創
120 人瀏覽過

Why Can't I Insert a Value into My Identity Column and How Do I Fix It?

對 SQL Server 中的識別列插入進行故障排除

在 SQL Server 中將值插入識別列時遇到問題? 本指南解釋了常見錯誤並提供了簡單的解決方案。

問題:

嘗試插入具有識別列指定值的行通常會導致以下錯誤:

伺服器:訊息 544,等級 16,狀態 1,第 1 行
當 IDENTITY_INSERT 設定為 OFF 時,無法在表格「table」中插入識別列的明確值。

理解錯誤:

識別列會自動產生唯一的順序值。 出現錯誤是因為 IDENTITY_INSERT 預設為 OFF。此設定可防止直接將值指派給識別列,從而確保資料庫保持對序列的控制。

解:

要將特定值插入識別列中,您需要暫時覆寫此預設行為。 請依照以下步驟操作:

  1. 啟用 IDENTITY_INSERT: 使用此指令暫時允許明確值插入:

將 IDENTITY_INSERT Table1 設定為 ON

  1. 執行 INSERT 語句: 現在,插入您的資料。 至關重要的是,您必須指定INSERT語句中的所有欄位:

插入表1(OperationID、OpDescription、FilterID)
VALUES (20, '層次結構更新', 1)

  1. 停用IDENTITY_INSERT插入後,立即停用IDENTITY_INSERT以恢復預設行為:

將 IDENTITY_INSERT Table1 設定為關閉

此程序可讓您在特定情況下管理識別列值,同時保持資料完整性。 請記住,插入完成後請務必停用 IDENTITY_INSERT

以上是為什麼我無法在身份列中插入值以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板