CREATE TABLE Film
(
idFilm NUMBER GENERATED BY DEFAULT as IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY,
titre VARCHAR2(100) NOT NULL,
anneeDeSortie NUMBER(4) NOT NULL,
langueOrigine VARCHAR2(25),
duree Number(3) NOT NULL,
resume VARCHAR2(600) NOT NULL,
affiche VARCHAR2(2083),
realisateur number,
constraint fk_idRealisateur
FOREIGN KEY (realisateur) REFERENCES Personnalite (idPersonnalite)
);
其中包含以下行:
SELECT * FROM film where film.idfilm = 164184;
当我try 向表Scenariste
添加一行时:
CREATE TABLE Scenariste
(
idScenariste NUMBER GENERATED ALWAYS as IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY,
nom VARCHAR2(100) NOT NULL,
idFilm NUMBER NOT NULL,
constraint fk_idScenariste
FOREIGN KEY (idScenariste) REFERENCES Film (idFilm)
);
INSERT INTO scenariste (nom, idFilm) VALUES ('Paul Attanasio', 164184);
我得到以下错误:
Error starting at line : 3 in command -
INSERT INTO scenariste (nom, idFilm) VALUES ('Paul Attanasio', 164184)
Error report -
ORA-02291: integrity constraint (EQUIPE106.FK_IDSCENARISTE) violated - parent key not found
如果与id164184
的电影之争真的存在,为什么会发生这种情况?