When I comment out every call of the foreign keys the code runs, creates the tables correctly and fills them with the incrementing id, but when I call the foreign keys in it just breaks and the id stays as null
CREATE TABLE CustomerDetails
(
CustomerID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
CONSTRAINT CustomerDetails_PK PRIMARY KEY,
CustomerFirstName VARCHAR(15) NOT NULL,
CustomerSurname VARCHAR(15) NOT NULL,
ContactNumber VARCHAR(13) NOT NULL
);
INSERT INTO CustomerDetails(CustomerFirstName, CustomerSurname, ContactNumber) VALUES ('First', 'Last', '09998877665');
CREATE TABLE CinemaList
(
CinemaID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
CONSTRAINT CinemaList_PK PRIMARY KEY,
CinemaName VARCHAR(10)
);
INSERT INTO CinemaList(CinemaName) VALUES ('England');
INSERT INTO CinemaList(CinemaName) VALUES ('Wales');
INSERT INTO CinemaList(CinemaName) VALUES ('Ireland');
CREATE TABLE FilmDetails
(
FilmID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
CONSTRAINT FilmDetails_PK PRIMARY KEY,
FilmName VARCHAR(25),
FilmInfo VARCHAR(250),
CinemaList_CinemaID INT NOT NULL
);
ALTER TABLE FilmDetails ADD FOREIGN KEY (CinemaList_CinemaID) REFERENCES CinemaList(CinemaID);
INSERT INTO FilmDetails(FilmName, FilmInfo) VALUES ('Film1', 'Film1 Bio');
INSERT INTO FilmDetails(FilmName, FilmInfo) VALUES ('Film2', 'Film2 Bio');
CREATE TABLE FilmTimes
(
TimeID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
CONSTRAINT FilmTimes_PK PRIMARY KEY,
FilmTime VARCHAR(5),
FilmDetails_FilmID INT NOT NULL
);
ALTER TABLE FilmTimes ADD FOREIGN KEY (FilmDetails_FilmID) REFERENCES FilmDetails(FilmID);
INSERT INTO FilmTimes(FilmTime) VALUES ('11:00');
INSERT INTO FilmTimes(FilmTime) VALUES ('17:00');
INSERT INTO FilmTimes(FilmTime) VALUES ('21:00');
CREATE TABLE BookingDetails
(
BookingID INT NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
CONSTRAINT BookingDetails_PK PRIMARY KEY,
FilmTimes_TimeID INT NOT NULL,
CustomerDetails_CustomerID INT NOT NULL,
BookingDate DATE NOT NULL
);
ALTER TABLE BookingDetails ADD FOREIGN KEY (CustomerDetails_CustomerID) REFERENCES CustomerDetails(CustomerID);
ALTER TABLE BookingDetails ADD FOREIGN KEY (FilmTimes_TimeID) REFERENCES FilmTimes(TimeID);
INSERT INTO BookingDetails(BookingDate) VALUES ('2016-01-17');