EXPLICAR funciona se você estiver executando o MySQL 5.6 ou superior.
explain update whatever;
Se a consulta estiver ok, mostra o plano de execução. Caso contrário, ele retorna o erro de sintaxe.
Se você estiver executando uma versão inferior do MySQL, vejo algumas opções:
- A opção recomendada :Tenha um banco de dados de teste pronto que espelhe seu banco de dados de produção pelo menos na estrutura . O ideal é que ele seja preenchido com dados de teste para verificar se a consulta não está apenas sintaticamente correta; mas que funciona como esperado .
- Execute a consulta no escopo de uma TRANSACTION que é imediatamente revertido.
- Execute uma versão da consulta ligeiramente modificada para corresponder a NO ROWS.
Por exemplo:
update table set col1 = @val1 where col2 = @val2;
Torna-se:
update table set col1 = @val1 where (col2 = @val2) and 1=0;
Portanto, se você estiver executando a versão 5.6 ou superior, o
EXPLAIN
truque é legal. Caso contrário, as opções 2 e 3 da lista também são truques legais. Mas, em geral, você deve atingir um desenvolvimento servidor com seu em desenvolvimento consultas de qualquer maneira.