Я немного запутался с использованием события триггера для получения ожидаемого результата
Здесь главная таблица - fee
.Структура выглядит следующим образом:
Плата
id | rn | fid | amount | f_month | year
====================================================
1 | 1 | 1 | 150000 | 1 | 1
2 | 1 | 2 | 50000 | 1 | 1
3 | 2 | 1 | 550500 | 2 | 1
4 | 2 | 2 | 200 | 2 | 1
5 | 3 | 1 | 550500 | 2 | 1
И был использован простой триггер вставки.
DROP TRIGGER IF EXISTS `insertinv`;
CREATE DEFINER=`root`@`localhost` TRIGGER `insertinv`
AFTER INSERT ON `fee` FOR EACH ROW INSERT INTO invoice VALUES(null, NEW.rn, NEW.year, '')
Вывод, что я получаю
Счет
inv | rn | y_d | status
==============================
1 | 1 | 1 | 0
2 | 1 | 1 | 0
3 | 2 | 1 | 0
4 | 2 | 1 | 0
5 | 3 | 1 | 0
Но я хочу применить условие
, еслиfee.rn
И fee.f_month
И fee.year
то же самое, что прекратить вставку .Я имею в виду игнорировать fee.fid
.
и добейтесь следующего результата.Ожидаемый
Счет
inv | rn | y_d | status
==============================
1 | 1 | 1 | 0
2 | 2 | 1 | 0
3 | 3 | 1 | 0
В таблице триггеров inv
- первичный ключ и автоинкремент