Kan en fremmednøgle være null Postgres?
Kan en fremmednøgle være null Postgres?

Video: Kan en fremmednøgle være null Postgres?

Video: Kan en fremmednøgle være null Postgres?
Video: Allowing Null Values in Part of a Compound Foreign Key 2024, November
Anonim

INSERT INTO product VALUES (11, 'for Joe', 1); INDSÆT I produktværdier (22, 'for alle', NUL ); Det er helt lovligt at have en nullable fremmed nøgle kolonne.

Spørgsmålet er også, kan en fremmednøgle være nul?

EN fremmed nøgle gør dens tabel afhængig af en anden tabel kaldet en overordnet tabel. EN fremmed nøgle indeholdende nul værdier kan ikke matche værdierne for en forælder nøgle , siden en forælder nøgle Per definition kan har ingen nul værdier. Men en null fremmednøgle værdi er altid gyldig, uanset værdien af nogen af dens ikke- nul dele.

Derudover, hvordan tilføjer jeg en fremmednøgle i PostgreSQL? TILFØJE CONSTRAINT constraint_name FREMMED NØGLE (c1) REFERENCES parent_table (p1); En sidste bemærkning, når du vil tilføje en fremmednøgle begrænsning med ON SLET CASCADE til eksisterende tabel, skal du udføre følgende trin: Slip eksisterende fremmed nøgle begrænsning. Tilføje en ny fremmed nøgle begrænsning med ON DELETE CASCADE handling.

Så kan en fremmednøgle være null mysql?

5 svar. NULL ind fremmednøgler er helt acceptable. Håndtering af NULLs i fremmednøgler er tricky, men det betyder ikke, at du ændrer sådanne kolonner til NOT NUL og indsæt dummy ("N/A", "Ukendt", "Ingen værdi" osv.) poster i dine referencetabeller.

Er fremmednøgler påkrævet?

Da formålet med udenlandsk nøglen er at identificere en bestemt række af refererede tabel, er det generelt påkrævet at udenlandsk nøgle er lig med kandidaten nøglen i en række i den primære tabel, ellers har ingen værdi (NULL-værdien.). Denne regel kaldes en referentiel integritetsbegrænsning mellem de to tabeller.

Anbefalede: