Mysql domyślnie

Mysql domyślnie

„W tym poście omówimy sposób korzystania z domyślnego ograniczenia w kolumnie MySQL. Dowiemy się, jak używać tego typu ograniczenia w definicji schematu tabeli dla określonej kolumny."

Jeśli to brzmi interesująco, nurkujmy i dowiedzmy się więcej.

Domyślna składnia ograniczenia mysql

Poniższy fragment pokazuje składnię domyślnego ograniczenia:

col_name data_type default_Value;


Zbadajmy powyższą składnię.

Zaczynamy od nazwy_polutowej, która określa nazwę kolumny, na której chcesz ustawić ograniczenie domyślne. Następnie definiujemy typ danych dla wspomnianej kolumny.

Po domyślnym słowie kluczowym następuje wartość domyślna, która określa wartość literalną. Stąd, jeśli wstawisz lub aktualizujesz wiersz, który nie zawiera wartości dla tej kolumny, MySQL użyje zdefiniowanej wartości domyślnej zamiast typu zerowego.

Dobrze należy pamiętać, że wartość domyślna nie może być wyrażeniem ani funkcją.

Dobrą praktyką jest zdefiniowanie domyślnego ograniczenia podczas definicji tabeli. Pomaga to zachować dane w tabeli i żadne wcześniejsze dane nie są ustawione na NULL.

Praktyczny przykład

Poniższy przykład pokazuje, jak ustawić domyślne ograniczenie podczas tworzenia tabeli.

mysql> Utwórz bazę danych Zero_day;
Zapytanie OK, dotknięty 1 rząd (0.00 s)


Użyj docelowej bazy danych:

mysql> Użyj zero_day;
Baza danych zmieniła się


Utwórz tabelę ze schematem pokazanym poniżej:

mysql> Utwórz rekordy tabeli (
-> ID INT NOT NULL AUTO_INCREMENT KLUCZ,
-> raport_name varchar (255) nie null,
-> Report_date Data nie null,
-> Report_author Varchar (100) Domyślnie „Anonimowy”,
-> Istotność, nie null,
-> Sprawdź (nasilenie> 0)
->);


Powyższe zapytanie tworzy tabelę o nazwie_records z różnymi kolumnami. Zwróć uwagę na kolumnę Report_author. Definiujemy domyślne ograniczenie i ustawiamy wartość domyślną na „Anonimowy”.

Stąd, jeśli nie określamy wartości dla tej kolumny, MySQL użyje tej wartości zamiast NULL.

Możesz potwierdzić schemat tabeli po fakcie za pomocą polecenia DESC:

DESC Records;


Powinno to zwrócić definicję tabeli jako tabelę.


Jak widać, raport_author zawiera wartość domyślną, podczas gdy reszta kolumn używa NULL jako wartości domyślnej.

Aby to przetestować, możemy wstawić rekordy, jak pokazano:

Wstaw do rekordów (nazwa_powiedz, raport_date, nasilenie)
wartości („DESC-100”, „2022-01-20”, 6);


Powyższa instrukcja Wstaw dodaje jeden rekord do tabeli bez podania wartości dla raporty_table.

Powinno to zmusić MySQL do użycia wartości domyślnej, jak pokazano:

mysql> wybierz * z rekordów;


Tabela wyjściowa:

+----+-------------+-------------+---------------+----------+
|. Id | Raport_name | raport_date | Report_author | dotkliwość |
+----+-------------+-------------+---------------+----------+
|. 1 | DESC-100 | 2022-01-20 | Anonimowy | 6 |
+----+-------------+-------------+---------------+----------+
1 wiersz w zestawie (0.00 s)


Jak widzimy, tabela zawiera wartość „anonimowa” zamiast null.

Dodaj domyślne ograniczenie istniejącej tabeli

Możemy również dodać domyślne ograniczenie do istniejącej tabeli za pomocą polecenia Alter Table, jak pokazano:

Składnia poleceń jest jak pokazano:

Zmień tabelę TABLE_NAME
Zmień nazwa_polution kolumny Ustaw default_Value;


Na przykład, aby dodać domyślne ograniczenie do kolumny nasilenia:

mysql> alter Table Records Zmień powiadomienie kolumny Ustaw DETYALT 5;


Powinno to zaktualizować kolumnę nasilenia, aby zawierać domyślne ograniczenie o wartości 5.

Wniosek

W tym poście omówiliśmy, jak korzystać z zestawu i korzystać z domyślnego ograniczenia w kolumnie tabeli.