MYSQL Неправильное использование групповой функции Как разрешить?

0

После создания триггера он начал показывать неверное использование ошибки групповой функции в запросе обновления.

Спусковой крючок:

CREATE TRIGGER header_true BEFORE UPDATE 
ON category 
FOR EACH row 
begin 
  IF new.Header = 'True' THEN 
    SET new.H_order = max(old.H_order) + 1; 
  end IF; 
end 

Обновить запрос:

UPDATE 'category' SET 'Header' = 'True' WHERE 'category'.'ID' = 23

Кто-нибудь может мне помочь? Как я могу решить эту проблему?

Теги:

1 ответ

0
Лучший ответ

Вы можете попробовать это решение для своей проблемы:

Функция MAX используется для возврата максимального значения выражения в оператор SELECT. Функция MAX невозможна без инструкции SELECT.

CREATE TRIGGER header_true BEFORE UPDATE 
ON category 
FOR EACH row 
begin 
  IF new.Header = 'True' THEN 
    SET new.H_order = (select max(H_order) + 1 from category) + 1; 
  end IF; 
end 

Надеюсь, это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню