首頁 >資料庫 >mysql教程 >為什麼我的 SQL Server INSERT 語句失敗並顯示「無法將 NULL 插入列 'id'」?

為什麼我的 SQL Server INSERT 語句失敗並顯示「無法將 NULL 插入列 'id'」?

Barbara Streisand
Barbara Streisand原創
2025-01-24 11:22:10669瀏覽

Why Does My SQL Server INSERT Statement Fail with

> sql Server插入語句失敗:NULL在不可廢列中的值 > sql語句:

導致錯誤:
<code class="language-sql">INSERT INTO role (name, created) VALUES ('Content Coordinator', GETDATE()), ('Content Viewer', GETDATE())</code>

由於
<code>Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'id', table 'CMT_DEV.dbo.role'; column does not allow nulls. INSERT fails.
The statement has been terminated.</code>
列定義為

>,因此出現了此錯誤,但是id>語句未指定其值。 SQL Server預設為NOT NULL>如果未為欄位提供值,導致違規限制。 INSERT NULL這是解決此操作的方法:

>

  • >明確設定

    在您的>語句中為id列提供一個值。 只有在您有辦法確定下一個可用ID(例如,您正在手動管理ID)的情況下,這才是實用的。 > id INSERT

    >
  • 使用自動報重列:最好的解決方案是讓列成為自動收入列。 這將自動為每個新行產生唯一的ID。 在SQL Server Management Studio(SSM):
  • 以設計模式開啟表格。 id選擇

    列。
    1. 在列屬性中,找到「身分規範」。
    2. set
    3. to id to 。 (如果需要,您可以調整
    4. 。)
    5. Is Identity Yes>實作自動提新後,您的Identity Increment語句將正常運作,而無需指定1>值。 該資料庫將自動處理ID產生。 >

以上是為什麼我的 SQL Server INSERT 語句失敗並顯示「無法將 NULL 插入列 'id'」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn