Я хочу, чтобы мой триггер уменьшал количество на 1 в таблице «количество» при добавлении новой строки в «rented_equipment_log», где date_returned имеет значение NULL.
Основной обзор базы данных:что есть стол оборудования с колоннами;модель, производитель, тип и количество.(Например, 1001, «Джексон», «весло», 10)
В таблице rented_equipment_log есть столбцы;member_id, модель, тип, date_taken, date_returned.(Например, 17225663, 1001, весло, 2018-11-26, 2018-11-27)
Таким образом, когда участник вынимает элемент оборудования, но еще не вернул его (date_returned равен нулю), количествоэтой же модели уменьшается на 1 в табличном оборудовании.
Однако я получаю синтаксическую ошибку.Я смотрел на другие вопросы, подобные этому, и до сих пор не могу понять, в чем ошибка.
Вот триггер:
delimiter //
CREATE TRIGGER UpdateQuantity
AFTER INSERT ON rented_equipment_log
FOR EACH ROW BEGIN
DECLARE q integer;
SELECT quantity INTO q FROM equipment WHERE model = NEW.model;
IF (date_returned IS NULL) THEN
UPDATE equipment
SET quantity = q -1 WHERE model = NEW.model
END IF;
END;//
И вот ошибка: # 1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который следует использовать рядом с 'END IF;END 'в строке 9