I have a script that creates triggers,
I would like to run it multiple times and if a trigger already exist it needs to skip the creation part.
Is there a "create if not exist" in mysql triggers?
I tried :
IF NOT EXISTS ((SELECT TRIGGER_NAME
FROM information_schema.triggers
WHERE TRIGGER_SCHEMA = 'xxx_admin' AND TRIGGER_NAME = 'test_AFTER_UPDATE'))
THEN
CREATE DEFINER=`root`@`localhost` TRIGGER `xxx_admin`.`test_AFTER_UPDATE` AFTER UPDATE ON `test` FOR EACH ROW
BEGIN
INSERT INTO auditTest
select *, now() from test where id = NEW.id;
END;
END IF;
I get : syntex error " 'IF' is not valid input at this location
Best Answer
There is no
CREATE TRIGGER
IF NOT EXISTSThere is DROP TRIGGER IF EXISTS
You must execute the trigger's creation as follows:
GIVE IT A TRY !!!
As for you error, using IF like that is not valid from the CLI.