Se você tiver acesso a uma linha de comando do MySQL, acho que verá que seu código SQL está bem (desde que
@sql não é igual a NULL ) e o problema é com o phpMyAdmin. Outra ideia é envolver o código em um procedimento armazenado e, em seguida, CALL o procedimento.