Не помещайте сигил @
в локальные переменные, которые вы объявили в теле вашего триггера.
В MySQL переменные с @
сигилом являются пользовательскими переменными . Вам не нужно это объявлять. Но у них есть возможности за пределами вашего триггера. Если они имеют значение до выполнения вашего триггера, триггер может прочитать это значение. Если вы измените значение такой переменной внутри триггера, значение будет сохранено после срабатывания триггера.
В то время как переменные без символа @
являются локальными переменными. Вы должны использовать DECLARE для создания этих переменных, как вы это делали выше. Они ограничены областью тела, в котором они объявлены, т.е. в этом случае переменная видна только внутри этого триггера.
Не смешивайте их. Просто представьте configId
и @configId
как разные переменные. На самом деле это разные переменные. Установка одного не меняет значения другого.