2016-11-03 3 views
2

Ich habe eine Tabelle in SQL Server-Datenbank, die eine uniqueidentifier (GUID) -Spalte hat. Als ich einige GUIDs in die Tabelle einfügen, erhalte ich eine Fehlermeldung:SQL Server-Fehler beim Einfügen einiger GUIDs

Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.

Code:

CREATE TABLE [TestTable] 
(
    [Id] [uniqueidentifier] NOT NULL 

    CONSTRAINT [PK_AccountDayActivities] 
     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 

INSERT INTO [TestTable] ([Id]) 
VALUES ('F2AC4012-83A1-E611-942C-D850E6BC46AE') 

Hinweis: Ich kann es in einer anderen Datenbank testen oder in einem anderen Server aber es hat nicht Fehler! nur in dieser Datenbank braucht es Fehler.

+2

Kann ein beschädigter Index sein - was passiert, wenn Sie die Primärschlüsseleinschränkung löschen und erneut hinzufügen? –

+2

Run 'DBCC CHECKDB' –

+0

@Damien_The_Unbeliever danke, es funktioniert! – ArMaN

Antwort

1

können Sie verwenden NEWID() zum Einfügen von Unique Oder Sie können diesen Code

DECLARE @myid unique SET @myid = 'F2AC4012-83A1-E611-942C-D850E6BC46AE'

INSERT INTO versuchen [TestTable] ([Id]) VALUES (@myid)