Ar užsienio raktas gali būti nulinis Postgres?
Ar užsienio raktas gali būti nulinis Postgres?

Video: Ar užsienio raktas gali būti nulinis Postgres?

Video: Ar užsienio raktas gali būti nulinis Postgres?
Video: How To Add FOREIGN KEY in Postgresql 2024, Gegužė
Anonim

INSERT INTO produkto VERTYBĖS (11, "Joe", 1); INSERT INTO produkto VERTES (22, "visiems", NULL ); Visiškai legalu turėti niekinį svetimas raktas stulpelyje.

Taip pat kyla klausimas, ar užsienio raktas gali būti nulinis?

A svetimas raktas daro savo lentelę priklausomą nuo kitos lentelės, vadinamos pirmine lentele. A svetimas raktas kuriuose yra nulinis reikšmės negali atitikti pirminės vertės Raktas , nuo tėvų Raktas pagal apibrėžimą gali neturiu nulinis vertybes. Tačiau a nulinis užsienio raktas vertė visada galioja, nepaisant bet kokios jos ne vertės nulinis dalys.

Be to, kaip pridėti užsienio raktą į PostgreSQL? PAPILDYTI CONSTRAINT apribojimo_pavadinimas SVETIMAS RAKTAS (c1) NUORODOS tėvų_lentelė (p1); Paskutinė pastaba, kai to norisi pridėti svetimą raktą suvaržymas su ON DELETE CASCADE į esamą lentelę, turite atlikti šiuos veiksmus: Išmeskite esamą svetimas raktas apribojimas. Papildyti naujas svetimas raktas apribojimas su ON DELETE CASCADE veiksmu.

Tada ar užsienio raktas gali būti nulinis mysql?

5 atsakymai. NULL svetimus raktus yra visiškai priimtini. Darbas su NULL svetimus raktus yra sudėtinga, bet tai nereiškia, kad tokius stulpelius pakeisite į NE NULL ir į savo nuorodų lenteles įterpkite netikrus („N/A“, „Unknown“, „No Value“ir tt) įrašus.

Ar reikalingi svetimi raktai?

Kadangi tikslas užsienio Svarbiausia yra nustatyti konkrečią nurodytos lentelės eilutę, paprastai tai yra reikalaujama kad užsienio raktas yra lygus kandidatui įvesti kai kurios pagrindinės lentelės eilutės arba neturi reikšmės (NULL reikšmė.). Ši taisyklė vadinama nuorodos vientisumo apribojimu tarp dviejų lentelių.

Rekomenduojamas: