Mam pole przechowujące kody produktów. Kody są unikalne, ale niektóre produkty po prostu nie mają kodu. Nie mogę wymyślać kodów, ponieważ są to kody dostawców.
Czy tego rodzaju ograniczenie jest możliwe w MySQL?
Jestem noobem z procedurami składowanymi i wyzwalaczami, więc jeśli rozwiązanie obejmuje jeden z nich, prosimy o cierpliwość.
Aktualizacja: kolumna NIE jest pusta. Dlatego nie mogłem tego zrobić.
mysql
database-design
constraints
Dezintegrator
źródło
źródło
Odpowiedzi:
Tak, możesz to zrobić. Zobacz dokumentację MySQL (wersja 5.5) .
źródło
Tak, jeśli ustawisz wartość null w kolumnie kodu produktu (nie zadeklarowano za pomocą
NOT NULL
), klucz unikatowy zezwoli na wiele wierszy zNULL
kodami produktów.źródło
MySQL nadal pozwala, aby wiele wierszy miało wartość
NULL
w unikalnej kolumnie.źródło
table
(key
int (11) NOT NULL AUTO_INCREMENT,field
tinyint (1) DEFAULT NULL )