Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: NOT NULL
Forum PHP.pl > Forum > Bazy danych > Oracle
nieraczek
Kolumna bedaca kluczem podstawowym jest domyślnie NOT NULL, a czy kolumna będąca kluczem obcym też jest domyślnie NOT NULL questionmark.gif
mhs
Tak, na kluczu obcym również musi być NOT NULL. Zasady dotyczące tworzenia klucza obcego są bardzo zbliżone do zasad klucza podstawowego.
wijet
Nie napisales o jaka baze Ci chodzi, w Oraclu ustawienie na kolumnie klucza obcego nie wymusza warunku NOT NULL, nalezy go utworzyc "recznie".
sf
@mhs: mylisz się, przecież można ustawić nawet w references ON DELETE SET NULL

Nie jest wymuszona bo może mieć wartość NULL więc byłoby to bezsensu.
nieraczek
no właśnie chodzi mi o Oracle, jesteś pewien że w Oracle klucz obcy NIE JEST domyślnie NOT NULL ? Np.

  1. CREATE TABLE PLYTY
  2. (
  3. ID_PLYTY NUMBER(6) CONSTRAINT OGRAN1 PRIMARY KEY,
  4. NAZWA VARCHAR2(50) CONSTRAINT OGRAN2 NOT NULL,
  5.  
  6. ID_GATUNKU NUMBER(6) REFERENCES GATUNKI(ID_GATUNKU) <- wiec klucz obcy jest domyslnie NULL ?
  7.  
  8. );
sf
@nieraczek: bez urazy, ale dostałeś już odpowiedź, a poza tym wystarczy sprawdzić :///
wijet
Tak w oraclu klucz obcy nie jest domyslnie NOT NULL, tylko ty robisz references to GATUNKI.ID_GATUNKU
ktory prawdopodobnie jest PRIMARY KEY czyli nie pozwala ci wstatic NULL'a, aby mozna bylo wstawic NULL'a w PLYTY.ID_GATUNKU to pole GATUNKI.ID_GATUNKU musialo by byc UNIQUE.
nieraczek
aha dzieki za odpowiedzi
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.