Я моделирую базовую c систему управления аэропортом SQL базу данных, используя MariaDB. Я хочу создать событие «LastCall», которое добавляет сообщение в таблицу каждый раз, когда рейс отправляется ровно через 30 минут.
Пока я написал код:
CREATE TABLE LastCall(
TS TIMESTAMP,
Message Varchar(100));
DELIMITER $
CREATE EVENT LastCallInsert
ON SCHEDULE EVERY 1 second
DO
BEGIN
INSERT INTO LastCall(TS, Message)
SELECT
CURRENT_TIMESTAMP,
CONCAT("Last call for passengers on flight ",FLIGHT.Flight_ID,". Go to gate ",FLIGHT.GateID)
FROM FLIGHT
WHERE TIMEDIFF(FLIGHT.Expected_Time,CURRENT_TIMESTAMP) = "00:30:00" AND FLIGHT.Depart_Arrives = "Departure";
END; $
DELIMITER ;
И это таблица Flight:
CREATE TABLE Flight(
Flight_ID varchar(4) not null,
Depart_Arrives enum('Departure','Arrival'),
AirportID varchar(3),
AircraftREG varchar(6) not null,
Expected_Time datetime,
GateID varchar(3),
PRIMARY KEY(Flight_ID,Depart_Arrives),
FOREIGN KEY(AirportID) REFERENCES Airport(AirportID),
FOREIGN KEY(AircraftREG) REFERENCES Aircraft(AircraftREG),
FOREIGN KEY(GateID) REFERENCES Gate(GateID)
);
Она дает мне код ошибки:
Код ошибки: 1054. Неизвестный столбец 'Expected_Time' в 'списке полей'
Любые идеи о том, почему он не может понять мою ссылку на Expected_Time?