Някакъв луд код. Основната точка е:SET
може да предизвика грешка за mysql променливи.
Например.
SET @value = 0;
SET SESSION sql_mode = if(@value, @@SESSION.sql_mode, 'something wrong uphere');
Ще изведе ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'something wrong uphere'
и изпълнението ще бъде спряно.
Този подход не е семантичен, но работи.