Вы без необходимости получаете все значения Alcohol name
, а затем проверяете значение NEW
внутри него.Вместо этого вы можете изменить на NOT EXISTS()
.
. Вам также нужно изменить DELIMITER
на что-то другое (кроме ;
) в начале.В конце переопределите его обратно к ;
DELIMITER $$
CREATE TRIGGER SellsInsertAlcoholAdd
AFTER INSERT ON Sells
FOR EACH ROW
BEGIN
IF NOT EXISTS(SELECT 1 FROM Alcohol
WHERE `Alcohol name` = NEW.`Alcohol name`) THEN
INSERT INTO Alcohol
VALUES(NEW.`Alcohol Name`, NEW.`Type`, NEW.ABV, NEW.Manufacturer);
END IF;
END $$
DELIMITER ;