лог значения в базе

Статус
В этой теме нельзя размещать новые ответы.
*** скрытое содержание ***
Сохраняй значение sum(YYY) где-то в базе, чтобы каждый раз не пересчитывать (нагрузка будет большая на перебор всех строк таблицы) и тригерами работай с этим значением и в коонце анализируй изменилось ли оно и логируй
 
не получается создать триггер

Подскажите, как сумму столбца забрать в триггерах?
 
написать отдельный запрос. OLD.YYY значение одного поля.
 
добавьте переменунную, в которую будет заноситься требуемое значение
PHP:
SET @total = (select sum(field) from mytable);
и уже после можно работать с переменной total
PHP:
SET old = @total;

из кода выше не понятно, что такое old
 
а где хранить эту временную переменную total, ведь это sql запрос без среды php
 
переменная создается и действует в теле триггера и нигде не хранится
 
mysql> CREATE TRIGGER `update` AFTER update ON `pr_table` FOR EACH ROW BEGIN SET @summ = (select sum(OLD.YYY) FROM `pr_table`); INSERT INTO `log` SET `msg` = 'update', old = @summ; END;
ERROR 1064 (42000:( You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
ERROR 1048 (23000:( Column 'old' cannot be null
ERROR 1064 (42000:( You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
Не получается:(:nezn:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху