MySQL BEFORE INSERT
триггер
У меня есть таблица bookings
.У меня есть 3 столбца с именем
facility_id, booking_date, time_slot
У меня также есть другая таблица с именем facility
со столбцом с именем facility_id
.Они связаны между собой WHERE bookings.faciliy_id = facility.facility_id
Я пытаюсь подсчитать, когда 3 столбца в таблице заказов повторяются, то есть:
1, 2017-02-02,08:00
1, 2017-02-02,08:00
Я ожидал бы, что это будет 2.
Затем я пытаюсь проверить этот результат, чтобы увидеть, соответствует ли его> = значению entity_capacity, которое хранится в таблице объектов.Выдайте сообщение об ошибке, если истина.
DELIMITER
//
CREATE TRIGGER facility_full BEFORE INSERT ON bookings
FOR EACH ROW
BEGIN
SELECT DISTINCT facility_id, booking_date, timeslot, COUNT(*) FROM bookings
SET COUNT = Answer
IF (Answer) >= facility_capacity
THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Facility Full';
WHERE bookings.facility_id = facility.facility_id;
END IF;
END
//
DELIMITER ;