Como eu sei, não há como emular ou substituir a funcionalidade de
GET DIAGNOSTICS
em versões inferiores do MySQL (inferiores a 5.6.4). Existem muitas entradas em bugs.mysql.com e em fóruns do MySQL que pedem esse recurso. (Como este:http://bugs.mysql.com/bug.php? código=11660 )
Eu não sei se você pode ou não atualizar sua instância MySQL, mas como eu sei, essa é sua única chance.
Encontrei (possivelmente você também encontrou) algumas perguntas relacionadas a esta, mas todas estão falando sobre a versão 5.6.4 ou não há respostas:
-
Como para obter uma mensagem de exceção no procedimento armazenado no MySQL 5.5
-
Obtendo mensagem SQLEXCEPTION em procedimentos MySQL
EDITAR
Se puder, trate os erros do MySQL no aplicativo cliente.
Você pode listar os erros e avisos com
SHOW ERRORS
e SHOW WARNINGS
declarações fora do HANDLER
s, mas você não pode inserir o resultado dessas instruções em uma tabela. Dentro do manipulador, essas instruções fornecerão um conjunto de resultados vazio. Para estados específicos, você pode declarar manipuladores individuais. Dessa forma, você pode conhecer o estado, mas não conhece outros detalhes.
Confira este artigo:http://www.mysqltutorial.org /mysql-error-handling-in-stored-procedures/