Un codice pazzo. Il punto principale è:SET
potrebbe generare errori per le variabili MySQL.
Ad esempio.
SET @value = 0;
SET SESSION sql_mode = if(@value, @@SESSION.sql_mode, 'something wrong uphere');
Verrebbe restituito ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'something wrong uphere'
e l'esecuzione verrebbe interrotta.
Questo approccio non è semantico ma funziona.