Jeśli chcesz ustawić kolumnę MySQL, aby nie akceptowała wartości null, możesz dodać ograniczenie NOT NULL w MySQL. Możesz dodać ograniczenie NOT NULL podczas tworzenia tabeli za pomocą instrukcji CREATE TABLE lub dodać ograniczenie NOT NULL w istniejącej tabeli za pomocą instrukcji ALTER TABLE. Oto jak dodać ograniczenie NOT NULL w MySQL.
Jak dodać ograniczenie NOT NULL w MySQL
Oto kroki, aby dodać ograniczenie NOT NULL dla kolumny w MySQL, dodać ograniczenie NOT NULL do istniejącej kolumny i usunąć ograniczenie NOT NULL z kolumny.
Oto składnia do zdefiniowania ograniczenia NOT NULL w MySQL podczas tworzenia nowej tabeli.
column_name data_type NOT NULL;
W powyższym oświadczeniu musisz określić NOT NULL po wymienieniu nazwa_kolumny i jego data_type
Oto przykład, jak dodać ograniczenie NOT NULL w 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
W powyższym zapytaniu CREATE TABLE dodaliśmy ograniczenie NOT NULL dla amount kolumna. Gdy wstawisz w tej kolumnie wartość NULL, MySQL zgłosi błąd.
Przeczytaj bonus:Jak dodać domyślne ograniczenie w MySQL
ALTER TABLE Dodaj ograniczenie NOT NULL w MySQL
Możesz również dodać ograniczenie NOT NULL do istniejącej kolumny w MySQL za pomocą instrukcji ALTER TABLE … CHANGE. Oto składnia, jak dodać ograniczenie „not null” do istniejącej tabeli w MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name column_definition;
W powyższym zapytaniu wymieniamy tę samą nazwę kolumny dla starej_nazwa_kolumny i nowej_nazwa_kolumny. Po nazwie nowej_kolumny musi następować definicja_kolumny typu danych i słowo kluczowe NOT NULL.
Oto przykład zapytania SQL, które dodaje ograniczenie NOT NULL do istniejącej kolumny w 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 | | +------------+---------+------+-----+---------+-------+
W powyższym zapytaniu dodaliśmy ograniczenie NOT NULL do istniejącej kolumny order_date
Przeczytaj bonus:MySQL wybierz N pierwszych wierszy na grupę
Jak usunąć ograniczenie NOT NULL
Możesz również usunąć ograniczenie NOT NULL za pomocą instrukcji ALTER TABLE … MODIFY. Oto składnia usuwania ograniczenia NOT NULL w MySQL.
ALTER TABLE table_name MODIFY column_name column_definition;
W powyższym zapytaniu musisz określić nazwę kolumny i definicję, dla której chcesz usunąć ograniczenie NOT NULL.
Oto przykład, jak usunąć ograniczenie NOT NULL dla data_zamówienia kolumna.
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 | | +------------+---------+------+-----+---------+-------+
Przeczytaj bonus:Jak uzyskać dane z ostatniego tygodnia w MySQL
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!