Мне нужен триггер, который удаляет строку, в которой в таблице paym
оба столбца table1
и table2
не пусты.
Пример в таблицах ниже:
стол: paym
ID username table1 Table2
+-------+-------------+-------------+-----------+
| 1 | John | Value | Value |
+-------+-------------+-------------+-----------+
| 2 | Alex | Null | Null |
+-------+-------------+-------------+-----------+
Условие истинно: после удаления строки:
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
@danb Любые другие способы?
Триггер не может изменить таблицу, в которой он работает.
Вы должны создать хранимую процедуру для обработки этого и вызывать ее вместо команды DELETE
...
Я не думаю, что вы можете сделать это в триггере
before update
илиafter update
.