Wenn Sie eine MySQL-Spalte so einstellen müssen, dass sie keine Nullwerte akzeptiert, können Sie in MySQL die Einschränkung NOT NULL hinzufügen. Sie können eine NOT NULL-Einschränkung hinzufügen, wenn Sie eine Tabelle mit der CREATE TABLE-Anweisung erstellen, oder eine NOT NULL-Einschränkung in einer vorhandenen Tabelle mit der ALTER TABLE-Anweisung hinzufügen. So fügen Sie eine NOT NULL-Einschränkung in MySQL hinzu.
So fügen Sie eine NOT NULL-Einschränkung in MySQL hinzu
Hier sind die Schritte zum Hinzufügen einer NOT NULL-Einschränkung für eine Spalte in MySQL, zum Hinzufügen einer NOT NULL-Einschränkung zu einer vorhandenen Spalte und zum Entfernen einer NOT NULL-Einschränkung aus einer Spalte.
Hier ist die Syntax zum Definieren der NOT NULL-Einschränkung in MySQL, wenn Sie eine neue Tabelle erstellen.
column_name data_type NOT NULL;
In der obigen Anweisung müssen Sie NOT NULL angeben, nachdem Sie den column_name erwähnt haben und sein Datentyp
Hier ist ein Beispiel zum Hinzufügen einer NOT NULL-Einschränkung in MySQL.
mysql> create table product_sales( id int, amount int NOT NULL, order_date date ); mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | YES | | NULL | | +------------+---------+------+-----+---------+-------+ mysql> insert into product_sales(id, order_date) values(1,'2020-08-01'); ERROR 1364 (HY000): Field 'amount' doesn't have a default value
In der obigen CREATE TABLE-Abfrage haben wir eine NOT NULL-Einschränkung für amount hinzugefügt Säule. Wenn Sie einen NULL-Wert in diese Spalte einfügen, gibt MySQL einen Fehler aus.
Bonuslektüre:So fügen Sie eine Standardeinschränkung in MySQL hinzu
ALTER TABLE NOT NULL-Einschränkung in MySQL hinzufügen
Sie können auch eine NOT NULL-Einschränkung zu einer vorhandenen Spalte in MySQL hinzufügen, indem Sie die Anweisung ALTER TABLE … CHANGE verwenden. Hier ist die Syntax zum Hinzufügen einer Nicht-Null-Einschränkung in einer vorhandenen Tabelle in MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name column_definition;
In der obigen Abfrage erwähnen wir denselben Spaltennamen für old_column_name sowie new_column_name. Auf new_column_name muss die column_definition des Datentyps und das Schlüsselwort NOT NULL folgen.
Hier ist ein Beispiel für eine SQL-Abfrage zum Hinzufügen der Einschränkung NOT NULL zu einer vorhandenen Spalte in MySQL.
mysql> ALTER TABLE product_sales CHANGE order_date order_date DATE NOT NULL; mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | NO | | NULL | | +------------+---------+------+-----+---------+-------+
In der obigen Abfrage haben wir der bestehenden Spalte order_date die Einschränkung NOT NULL hinzugefügt
Bonus-Lesetext:MySQL wählt die obersten N Zeilen pro Gruppe aus
Wie man die NOT NULL-Einschränkung löscht
Sie können die Einschränkung NOT NULL auch mit der Anweisung ALTER TABLE … MODIFY löschen. Hier ist die Syntax zum Entfernen der NOT NULL-Einschränkung in MySQL.
ALTER TABLE table_name MODIFY column_name column_definition;
In der obigen Abfrage müssen Sie den Spaltennamen und die Definition angeben, für die Sie die NOT NULL-Einschränkung entfernen möchten.
Hier ist ein Beispiel zum Entfernen der NOT NULL-Einschränkung für order_date Spalte.
mysql> ALTER TABLE product_sales MODIFY order_date DATE; mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | YES | | NULL | | +------------+---------+------+-----+---------+-------+
Bonuslektüre:So erhalten Sie Daten der letzten Woche in MySQL
Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!