Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich den Fehler 'Null Null können in SQL Server nicht in die Spalten -ID' -Fehler einfügen?

Warum erhalte ich den Fehler 'Null Null können in SQL Server nicht in die Spalten -ID' -Fehler einfügen?

Barbara Streisand
Freigeben: 2025-01-24 11:02:13
Original
586 Leute haben es durchsucht

Why Am I Getting the

SQL Server "Null kann Null in die Spalte 'ID'" "Fehler: Eine umfassende Anleitung

Einfügen von Daten in eine SQL Server -Datenbank erfordert die Bereitstellung von Werten für alle Spalten, insbesondere für den Primärschlüssel. Wenn eine Spalte als NOT NULL bezeichnet wird und ein Standardwert fehlt, löst der Versuch, einen NULL einzufinden, einen Fehler aus.

Szenario: Einfügen in eine Rollentabelle

Betrachten Sie diese SQL -Anweisung:

<code class="language-sql">INSERT INTO role (name, created) VALUES ('Content Coordinator', GETDATE()), ('Content Viewer', GETDATE())</code>
Nach dem Login kopieren

Dies versucht, der Tabelle role zwei Zeilen hinzuzufügen (enthalten name und created Spalten - letztere mit einem Standard -Zeitstempel). Die Primärschlüsselspalte id wird weggelassen.

Fehleraufschlüsselung

SQL Server erfordert explizite Primärschlüsselwerte oder automatische Erzeugung. Da id nicht angegeben ist und keine Standardeinstellung hat, weist SQL Server es NULL zu. id wird jedoch als NOT NULL definiert, wodurch NULL Einfügung verhindert wird. Die resultierende Fehlermeldung lautet:

<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>
Nach dem Login kopieren

Lösung: Automatische Inkremente zur Rettung

Die Lösung soll sicherstellen, dass id immer einen gültigen Wert erhält. Die häufigste Methode ist die Verwendung von automatischer Inkrement:

Verwenden von SQL Server Management Studio (SSMS):

  1. Öffnen Sie die Tabelle role im Entwurfsmodus.
  2. Wählen Sie die Spalte id und greifen Sie auf die Spalteneigenschaften zu.
  3. unter "Identitätsspezifikation", "set" ist Identität "zu" Ja "und" Identitätsinkrement "bis 1.

Dies konfiguriert id, um für jede neue Zeile automatisch zu inkrementieren, wodurch die manuelle Primärschlüsselspezifikation beseitigt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den Fehler 'Null Null können in SQL Server nicht in die Spalten -ID' -Fehler einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage