У меня есть две таблицы A и B в базе данных mysql. Таблица А, имеющая brnd_id
, R_2000ml
. Таблица B, содержащая diff
, val
. Я пишу триггер для обновления таблицы B, когда обновляется R_2000ml
. Я вычисляя разницу NEW.R_2000ml
и OLD.R_2000ml
и собирается сохранить результат в diff
столбце и передавая логическое значение 1, чтобы получить обновленную информацию в val
столбце таблицы B.Триггер MySQL для обновления другой таблицы при обновлении значения в текущей таблице
Ниже мой триггер кода, который не работает как ! значения не получают обновляться в таблице В.
DELIMITER //
DROP TRIGGER IF EXISTS `myTrigger`;
CREATE DEFINER=`root`@`localhost` TRIGGER `myTrigger`
AFTER UPDATE ON `A`
FOR EACH ROW
BEGIN
DECLARE brndid integer;
DECLARE stkdate date;
if NEW.`R_2000ml` <=> OLD.`R_2000ml`
THEN
if NEW.`R_2000ml` > OLD.`R_2000ml`
THEN
update B set diff= NEW.R_2000ml- OLD.R_2000ml,val=1;
END IF;
END IF;
END;//
DELIMITER ;
Ваш триггер должен обновить * все * строки в 'b'. , , это ваше намерение? –
Таблица B содержит только одну строку и будет использоваться для другой цели. – WASEEM