Я новичок в SQL, и даже в программировании, недавно я обнаружил триггеры, и я хочу рассчитать максимальное количество активных линий и общую сумму активных весов
PS: активные записи определены с 'cancled = 0'
У меня была ошибка # 1064 около строки, где я объявил свою переменную (строка 2)
Я запускаю это в триггерах PHPMYADMIN (MySQL).
BEGIN
DECLARE @max_rows int;
DECLARE @max_tare int;
SET @max_rows = SELECT COUNT(*) FROM history WHERE cancled = 0;
SET @max_tare= SELECT SUM(tare) FROM history WHERE cancled = 0;
UPDATE max_tare
SET max_row = @max_rows,
max_tare = @max_tare
WHERE id = 1
END
Я ожидал, что я обновил строку 1 с максимальным количеством строк и общей суммой активных весов, но у меня есть ошибка
MySQL ответил: # 1064 - Синтаксическая ошибка рядом с '@max_rows int; DECLARE
@max_tare int; SET @max_rows = ВЫБЕРИТЕ СЧЕТЧИК (*) ОТ его 'в строке 2
после комментария Павла я изменил код так:
BEGIN
DECLARE max_r int;
DECLARE max_t int;
SET max_r = SELECT COUNT(*) FROM history WHERE cancled = 0;
SET max_t = SELECT SUM(tare) FROM history WHERE cancled = 0;
UPDATE max_tare
SET max_row = max_r,
max_tare = max_t
WHERE id = 1
END
это новая ошибка:
MySQL ответил: # 1064 - Синтаксическая ошибка рядом с SELECT COUNT (*) FROM
история ГДЕ cancled = 0; SET max_t = SELECT SUM (тара) FR 'в строке 4
ты заранее.