UITLEG doet de truc als je MySQL 5.6 of hoger gebruikt.
explain update whatever;
Als de query in orde is, wordt het uitvoeringsplan weergegeven. Anders wordt de syntaxisfout geretourneerd.
Als je een mindere versie van MySQL gebruikt, zie ik een paar opties:
- De aanbevolen optie :Zorg dat u een testdatabase bij de hand hebt die uw productiedatabase weerspiegelt in ieder geval qua structuur . Laat het idealiter gevuld worden met testgegevens om te controleren of de query niet alleen syntactisch correct is; maar dat het werkt zoals verwacht .
- Voer de query uit in het kader van een TRANSACTIE dat wordt onmiddellijk teruggedraaid.
- Voer een versie van de zoekopdracht uit die enigszins is aangepast om overeen te komen met GEEN RIJEN.
Bijvoorbeeld:
update table set col1 = @val1 where col2 = @val2;
Wordt:
update table set col1 = @val1 where (col2 = @val2) and 1=0;
Dus, als u 5.6 of hoger gebruikt, de EXPLAIN
truc is netjes. Als dat niet het geval is, zijn opties 2 en 3 uit de lijst ook leuke (achtige) trucs. Maar over het algemeen zou je een ontwikkeling moeten bereiken server met uw in ontwikkeling toch vragen.