/ / Praca z zerami w bazie danych MySQL. Jeden z trzech kluczy obcych nie może mieć wartości null. - mysql, projekt bazy danych, null, klucz obcy

Praca z zerami w bazie danych MySQL. Jeden z trzech kluczy obcych nie może mieć wartości null. - mysql, projekt bazy danych, null, klucz obcy

moim problemem jest to, że muszę zrobić stolik, który będzie miał klucze obce, a jeden z trzech kluczy obcych musi być NIE MA NULL, a reszta musi być NULL. Czy jest coś w MySQL, aby go rozwiązać? Michael.

Odpowiedzi:

1 dla odpowiedzi № 1

Unikaj zerowych kluczy obcych - mają one numerproblemów i wad. Ogólnie łatwiej i lepiej jest umieścić te kolumny w osobnych tabelach, aby nie trzeba było tworzyć dla nich wartości zerowych, gdy żadna wartość nie istnieje. To powinno być podejście domyślne: Normalna forma dla każdego odrębnego przypadku, chyba że masz jakiś specjalny powód, aby połączyć trzy kolumny w jedną tabelę.


0 dla odpowiedzi nr 2

ZAGRANICZNE OGRANICZENIA KLUCZOWE przykład:

CREATE TABLE parent
(
id INT NOT NULL, PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE child
(
id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)

) ENGINE=INNODB;