Voiko vierasavain olla tyhjä Postgres?
Voiko vierasavain olla tyhjä Postgres?

Video: Voiko vierasavain olla tyhjä Postgres?

Video: Voiko vierasavain olla tyhjä Postgres?
Video: Tietokannat luento 2 6.9.2021 2024, Marraskuu
Anonim

INSERT INTO tuotteen ARVOT (11, 'Joelle', 1); INSERT INTO tuotteen ARVOT (22, 'kaikki', TYHJÄ ); On täysin laillista olla mitätöitävä vieras avain sarakkeessa.

Kysymys kuuluu myös, voiko vieras avain olla tyhjä?

A vieras avain tekee taulukonsa riippuvaiseksi toisesta taulukosta, jota kutsutaan ylätason taulukoksi. A vieras avain sisältävät tyhjä arvot eivät voi vastata ylätason arvoja avain , vanhemmasta lähtien avain määritelmän mukaan voi ei ole tyhjä arvot. Kuitenkin a null vierasavain arvo on aina voimassa, riippumatta sen ei- tyhjä osat.

Lisäksi, kuinka voin lisätä vieraan avaimen PostgreSQL:ään? LISÄTÄ CONSTRAINT rajoitteen_nimi ULKOINEN AVAIN (c1) VIITTEET vanhempi_taulukko (p1); Viimeinen huomautus, kun haluat lisää vierasavain rajoitus ON DELETE CASCADE olemassa olevaan taulukkoon, sinun on tehtävä seuraavat vaiheet: Pudota olemassa oleva vieras avain rajoite. Lisätä uusi vieras avain rajoitus ON DELETE CASCADE -toiminnolla.

Voiko sitten vierasavain olla tyhjä mysql?

5 vastausta. NULL:t sisään vieraita avaimia ovat täysin hyväksyttäviä. NULL-arvojen käsittely vieraita avaimia on hankala, mutta se ei tarkoita, että muutat tällaiset sarakkeet arvoksi EI TYHJÄ ja lisää valetietueita ("N/A", "Unknown", "No Value" jne.) viitetaulukoihisi.

Tarvitaanko vieraita avaimia?

Koska tarkoitus ulkomaalainen avain on tunnistaa tietty viitetaulukon rivi, se on yleensä vaaditaan että ulkomaalainen avain on sama kuin ehdokas näppäillä jollakin ensisijaisen taulukon rivillä tai muuten niillä ei ole arvoa (NULL-arvo.). Tätä sääntöä kutsutaan kahden taulukon väliseksi viittauksen eheyden rajoitukseksi.

Suositeltava: