1CREATE DATABASE db1;
2USE db1;
3CREATE TABLE t1 (val INT);
4CREATE TRIGGER IF NOT EXISTS val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val;
5SET @sum=0;
6INSERT INTO t1 VALUES (10), (20), (30);
7SELECT @sum;
8@sum
960
10CREATE TRIGGER IF NOT EXISTS val_sum_new BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val;
11CREATE TRIGGER IF NOT EXISTS val_sum AFTER INSERT ON t1 FOR EACH ROW SET @sum = @sum + 1 + NEW.val;
12Warnings:
13Note	1359	Trigger 'db1.val_sum' already exists
14CREATE OR REPLACE TRIGGER IF NOT EXISTS val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + 2 + NEW.val;
15ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
16SELECT ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
17ACTION_STATEMENT
18SET @sum = @sum + NEW.val
19CREATE OR REPLACE TRIGGER val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + 3 + NEW.val;
20SELECT ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
21ACTION_STATEMENT
22SET @sum = @sum + 3 + NEW.val
23CREATE TRIGGER val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + 4 + NEW.val;
24ERROR HY000: Trigger 'db1.val_sum' already exists
25SELECT ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
26ACTION_STATEMENT
27SET @sum = @sum + 3 + NEW.val
28# Clearing up
29DROP TRIGGER IF EXISTS val_sum;
30SELECT ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
31ACTION_STATEMENT
32DROP TRIGGER IF EXISTS val_sum;
33Warnings:
34Note	1360	Trigger does not exist
35DROP TABLE t1;
36DROP DATABASE db1;
37