Poate o cheie externă să fie Postgres nulă?
Poate o cheie externă să fie Postgres nulă?

Video: Poate o cheie externă să fie Postgres nulă?

Video: Poate o cheie externă să fie Postgres nulă?
Video: How To Add FOREIGN KEY in Postgresql 2024, Noiembrie
Anonim

INSERT INTO product VALUES (11, „pentru Joe”, 1); INSERT INTO product VALUES (22, „pentru toți”, NUL ); Este perfect legal să ai un nullable cheie externă coloană.

De asemenea, întrebarea este, poate o cheie străină să fie nulă?

A cheie externă își face tabelul dependent de un alt tabel numit tabel părinte. A cheie externă conținând nul valorile nu se pot potrivi cu valorile unui părinte cheie , de când părinte cheie prin definitie poate sa nu au nici nul valorile. Cu toate acestea, a cheie străină nulă valoarea este întotdeauna valabilă, indiferent de valoarea oricăruia dintre nul părți.

În plus, cum adaug o cheie străină în PostgreSQL? ADĂUGA CONSTRAINT nume_constrângere CHEIE EXTERNĂ (c1) REFERINȚE parent_table (p1); O notă finală când vrei adăugați o cheie străină constrângere cu ON DELETE CASCADE la tabelul existent, trebuie să faceți următorii pași: Eliminați existentul cheie externă constrângere. Adăuga un nou cheie externă constrângere cu acțiunea ON DELETE CASCADE.

Atunci, o cheie străină poate fi nulă mysql?

5 Răspunsuri. NULL-uri în chei externe sunt perfect acceptabile. Confruntarea cu NULL-urile în chei externe este dificil, dar asta nu înseamnă că schimbați astfel de coloane în NU NUL și introduceți înregistrări inactiv ("N/A", "Necunoscut", "Fără valoare" etc) în tabelele dvs. de referință.

Sunt necesare cheile străine?

Din moment ce scopul străin cheia este de a identifica un anumit rând de tabel de referință, este în general necesar că străin cheia este egală cu candidatul cheie în un rând din tabelul primar, sau altfel nu au nicio valoare (valoarea NULL.). Această regulă se numește o constrângere de integritate referențială între cele două tabele.

Recomandat: