Mam problem z SQLITE3.Czy SQLite3 nie obsługuje ograniczeń klucza obcego?
Stworzyłem 2 tabele persons
i orders
stosując następujący skrypt SQL:
sqlite> create table Persons(
P_Id int primary key,
LastName varchar,
FirstName varchar,
Address varchar,
City varchar
);
sqlite> create table Orders(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
);
sqlite> insert into Orders values(1,77895,3);
sqlite> select * from Orders;
1|77895|3
sqlite>
Choć tabela osób jest puste wiersze mogą być wstawiane do tabeli orders
.
Nie pokazuje żadnego błędu.
Jak to jest możliwe.
Za każdym razem? Nie można go na stałe włączyć? – mafu
@mafu Tak, za każdym razem. Zmieniłem odpowiedź, aby wyjaśnić, dlaczego. – kijin
Właśnie wpadłem na to dzisiaj. To najgłupsza rzecz. –