Heim >Datenbank >MySQL-Tutorial >Wie füge ich NOT NULL-Einschränkungen zu vorhandenen MySQL-Spalten hinzu?

Wie füge ich NOT NULL-Einschränkungen zu vorhandenen MySQL-Spalten hinzu?

Linda Hamilton
Linda HamiltonOriginal
2024-11-05 18:18:02940Durchsuche

How to Add NOT NULL Constraints to Existing MySQL Columns?

Festlegen von NOT NULL-Einschränkungen für vorhandene MySQL-Spalten

Das Hinzufügen von NOT NULL-Einschränkungen zu vorhandenen Spalten kann eine häufige Anforderung sein, wenn es darum geht, die Datenintegrität sicherzustellen. Lassen Sie uns die Schritte untersuchen, die zur Behebung dieses Problems erforderlich sind.

Betrachten Sie den Fall einer „Person“-Tabelle mit den folgenden Spalten:

<code class="sql">P_Id (int)
LastName (varchar)
FirstName (varchar)</code>

In der Spalte „P_Id“ fehlt jedoch die NOT NULL-Einschränkung. Versuche, die Einschränkung mithilfe von Abfragen wie den folgenden hinzuzufügen, haben zu Syntaxfehlern geführt:

<code class="sql">ALTER TABLE Person MODIFY (P_Id NOT NULL);
ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);</code>

Um die NOT NULL-Einschränkung effektiv hinzuzufügen, verwenden Sie eine ALTER TABLE... MODIFY...-Abfrage, die die vollständige Spalte enthält Definition. Eine Beispielabfrage wäre:

<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>

Achtung: Stellen Sie sicher, dass die gesamte Spaltendefinition in der MODIFY-Abfrage angegeben ist, einschließlich aller Standardwerte oder Spaltenkommentare. Wenn diese Elemente weggelassen werden, werden sie aus der Spalte entfernt.

Zur größtmöglichen Sicherheit extrahieren Sie die Spaltendefinition mithilfe einer SHOW CREATE TABLE YourTable-Abfrage. Ändern Sie die Definition, um die NOT NULL-Einschränkung einzubeziehen, und fügen Sie sie dann in die Abfrage ALTER TABLE... MODIFY... ein. Dieser Ansatz minimiert das Risiko des Verlusts wichtiger Spalteneigenschaften.

Das obige ist der detaillierte Inhalt vonWie füge ich NOT NULL-Einschränkungen zu vorhandenen MySQL-Spalten hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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