簡體   English   中英

錯誤錯誤:當IDENTITY_INSERT設置為OFF時,無法為表'Table1'中的標識列插入顯式值

[英]WRONG ERROR: Cannot insert explicit value for identity column in table 'Table1' when IDENTITY_INSERT is set to OFF

我有一個奇怪的問題,我創建了一個包含四列的表,並將一列設置為int類型的主鍵。 我沒有將主鍵列設置為標識,但是當我嘗試在表中插入數據時出現此錯誤:

Cannot insert explicit value for identity column in table 'Table1' when IDENTITY_INSERT is set to OFF.

我嘗試不指定主鍵列進行插入(假設它設置為IDENTITY(x,y)!),在這種情況下,它不會給出任何錯誤,但也不會插入任何數據!

創建“ table1”:

    USE [NEWVEDJA]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Table1](
        [id] [int]  NOT NULL,
        [name] [nvarchar](50) NULL,
        [code] [int] NULL,
        [exp_1] [nvarchar](max) NULL,
     CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED 
    (
        [id] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,         ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO

並插入“ table1”

    INSERT INTO [PARTIAL_NEWVEDJA].[dbo].[Table1]
           ([id]
           ,[name]
           ,[code]
           ,[exp_1])
        VALUES
            (1,N'سازمان',null,null), (2,N'معاونت',null,null);
    GO

非常感謝。

USE [NEWVEDJA]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE....

使用此代碼,將創建ID為PK且沒有IDENTITY屬性的表。 一切都很好。

INSERT INTO [PARTIAL_NEWVEDJA].[dbo].[Table1]
       ([id]

使用此代碼,您將數據插入[PARTIAL_NEWVEDJA]。[dbo]。[Table1],這是另一個DB中的表。 好像在該表中為ID列啟用了IDENTITY屬性。

您可以嘗試將數據插入使用CREATE語句創建的同一表中嗎?

拉吉

如果禁用了identity_insert ,則將不允許您顯式設置id列的值。 我假設某種自動編號已建立。

嘗試:

INSERT INTO [PARTIAL_NEWVEDJA].[dbo].[Table1]
       ([id]
       ,[name]
       ,[code]
       ,[exp_1])
    VALUES
        (null,N'سازمان',null,null), (2,N'معاونت',null,null);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM