Una clau estrangera pot ser Postgres nul·la?
Una clau estrangera pot ser Postgres nul·la?

Vídeo: Una clau estrangera pot ser Postgres nul·la?

Vídeo: Una clau estrangera pot ser Postgres nul·la?
Vídeo: Создание динамических веб-приложений с помощью Laravel, Эрик Оуян 2024, Abril
Anonim

INSERT INTO product VALUES (11, "per a Joe", 1); INSERT INTO product VALUES (22, "per a tots", NUL ); És perfectament legal tenir un nul·lable clau estrangera columna.

També la pregunta és, pot ser nul·la una clau estrangera?

A clau estrangera fa que la seva taula depengui d'una altra taula anomenada taula pare. A clau estrangera que conté nul els valors no poden coincidir amb els valors d'un pare clau , des de pare clau per definició llauna no tenir nul valors. Tanmateix, a clau estrangera nul·la valor sempre és vàlid, independentment del valor de qualsevol dels seus nul parts.

A més, com puc afegir una clau estrangera a PostgreSQL? AFEGIR CONSTRAINT nom_restricció CLAU ESTRANGERA (c1) REFERÈNCIES parent_table (p1); Una darrera nota quan vulguis afegir una clau estrangera restricció amb ON DELETE CASCADE a la taula existent, heu de fer els passos següents: Eliminar l'existent clau estrangera restricció. Afegeix una nova clau estrangera restricció amb l'acció ON DELETE CASCADE.

Aleshores, una clau estrangera pot ser nul·la mysql?

5 respostes. NULL a claus externes són perfectament acceptables. Tractar amb NULL a claus externes és complicat, però això no vol dir que canvieu aquestes columnes a NO NUL i inseriu registres simulats ("N/A", "Desconegut", "Sense valor", etc.) a les vostres taules de referència.

Es requereixen claus forasteres?

Atès que el propòsit de la estranger La clau és identificar una fila particular de la taula de referència, en general ho és requerit que la estranger clau és igual al candidat clau en alguna fila de la taula principal, o bé no tenen valor (el valor NULL.). Aquesta regla s'anomena restricció d'integritat referencial entre les dues taules.

Recomanat: