Warum wirft SQL Server diesen Fehler: Kann den Wert NULL nicht in Spalte 'ID' einfügen?
Bin ich mit der folgenden Abfrage:
INSERT INTO role (name, created) VALUES ('Content Coordinator', GETDATE()), ('Content Viewer', GETDATE())
Allerdings bin ich nicht angeben, die Primärschlüssel (die id
). Also meine Fragen ist, warum ist der sql server immer wieder mit dieser Fehlermeldung:
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.
InformationsquelleAutor der Frage Webnet | 2012-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gehe davon aus, dass
id
werden soll, um einen Wert erhöht.Müssen Sie das set, oder aber, wenn Sie einen nicht-null-Spalte keinen Standardwert, wenn Sie keinen Wert, es wird Fehler.
Einrichten auto-increment in SQL Server Management Studio:
Design
Column Properties
Indentity Specification
legen(Is Identity)=Yes
undIndentity Increment=1
InformationsquelleAutor der Antwort Curt
Wenn die
id
Spalte keinen Standardwert, aber hatNOT NULL
Einschränkung, dann müssen Sie ein Wert sichInformationsquelleAutor der Antwort Andy Irving
verwenden
IDENTITY(1,1)
beim erstellen der TabellezB
InformationsquelleAutor der Antwort Minakshi Korad
Müssen Sie entweder geben Sie eine ID in den Einsatz, oder Sie müssen zum konfigurieren der id-Spalte in der Datenbank-Identität-Spezifikation = ja.
InformationsquelleAutor der Antwort JupiterP5
Als id PK es MUSS einzigartig sein und nicht null.
Wenn Sie nicht zu erwähnen ein Feld in der Liste Felder für das einfügen es werden soll null-oder default-Wert.
Satz der Identität (z.B. autoincrement) für dieses Feld, wenn Sie nicht wollen, um es manuell zu jeder Zeit.
InformationsquelleAutor der Antwort quzary
Müssen Sie autoincrement-Eigenschaft die id-Spalte auf true, wenn Sie die Tabelle erstellen, oder Sie können ändern Sie Ihre vorhandene Tabelle zu tun.
InformationsquelleAutor der Antwort RisingDragon
@curt ist richtig, aber ich habe bemerkt, dass manchmal sogar diese schlägt mit NULL nicht zulässig Fehler, und es scheint zeitweise.
Ich vermied den Fehler, zu allen Zeiten, durch die auch die Indenty Samen zu 1 und
IDENTITY(1, 1) NOT FOR REPLICATION
.InformationsquelleAutor der Antwort Fandango68
du hast nicht geben Sie einen Wert für die id. Versuchen Sie dies :
Oder Sie können die auto-increment-id-Feld, wenn Sie den id-Wert automatisch Hinzugefügt.
InformationsquelleAutor der Antwort natadecoco
wenn Sie nicht können oder nicht wollen, um die autoincrement-Eigenschaft die id, können Sie den Wert für die id der jeweiligen Zeile wie diese:
InformationsquelleAutor der Antwort robotik
Können Sie manuell einen Wert in die Spalte " ID " (hier nenne ich es "PK"):
InformationsquelleAutor der Antwort Lømmis