Kas võõrvõti võib olla null Postgres?
Kas võõrvõti võib olla null Postgres?

Video: Kas võõrvõti võib olla null Postgres?

Video: Kas võõrvõti võib olla null Postgres?
Video: Building Dynamic Web Apps with Laravel by Eric Ouyang 2024, Mai
Anonim

INSERT INTO toote VÄÄRTUSED (11, "Joe jaoks", 1); INSERT INTO toote VÄÄRTUSED (22, 'kõigile', NULL ); Tühistatav on täiesti seaduslik võõrvõti veerg.

Küsimus on ka selles, kas võõrvõti võib olla null?

A võõrvõti muudab oma tabeli sõltuvaks teisest tabelist, mida nimetatakse ülemtabeliks. A võõrvõti sisaldavad null väärtused ei saa ühtida vanema väärtustega võti , alates lapsevanemast võti definitsiooni järgi saab ei ole null väärtused. Siiski a null võõrvõti väärtus on alati kehtiv, olenemata selle mis tahes mitte- null osad.

Lisaks, kuidas lisada PostgreSQL-i võõrvõtit? LISAMA CONSTRAINT piirangu_nimi VÄLISVÕTI (c1) VIITED vanematabel (p1); Üks viimane märkus, kui soovite lisage võõrvõti olemasolevasse tabelisse piiranguga ON DELETE CASCADE, peate tegema järgmised toimingud: Loobuge olemasolev võõrvõti piirang. Lisama uus võõrvõti piirang toiminguga ON DELETE CASCADE.

Kas siis võib võõrvõti olla null mysql?

5 vastust. NULL-id sisse võõrvõtmed on täiesti vastuvõetavad. NULL-idega tegelemine võõrvõtmed on keeruline, kuid see ei tähenda, et muudate sellised veerud väärtuseks EI NULL ja sisestage oma viitetabelitesse näidiskirjed ("N/A", "Unknown", "No Value" jne).

Kas võõrvõtmed on vajalikud?

Kuna eesmärk on välismaa võti on tuvastada konkreetne viidatud tabeli rida, see on üldiselt nõutud et välismaa võti on võrdne kandidaadiga võti sisse mõnele esmase tabeli reale, muidu pole sellel väärtust (NULL väärtus.). Seda reeglit nimetatakse kahe tabeli vaheliseks viiteterviklikkuse piiranguks.

Soovitan: