我需要触发删除行,其中表paym
和列table1
和table2
中的行都不为空。
下表中的示例:
表格:paym
ID username table1 Table2
+-------+-------------+-------------+-----------+
| 1 | John | Value | Value |
+-------+-------------+-------------+-----------+
| 2 | Alex | Null | Null |
+-------+-------------+-------------+-----------+
条件为true:删除后的行:
ID username table1 Table2
+-------+-------------+-------------+-----------+
| 2 | Alex | Null | Null |
+-------+-------------+-------------+-----------+
我的尝试是(不起作用)
CREATE trigger DeleteROW
AFTER UPDATE ON paym
FOR EACH ROW
BEGIN
IF (NEW.table1 IS NOT NULL AND NEW.table2 IS NOT NULL) THEN
DELETE
FROM
paym WHERE table1 and table2 IS NOT NULL ;
END IF;
END
答案 0 :(得分:3)
触发器无法修改正在其上运行的表。
您应该创建一个存储过程来处理此问题,然后调用它而不是DELETE
命令...