Si l'instruction est toujours en cours d'exécution, vous pouvez utiliser KILL QUERY <thread_id>
.
Si la déclaration est terminée mais que vous n'avez pas encore validé la transaction, vous pouvez utiliser ROLLBACK
.
Si la déclaration est terminée et que la transaction est déjà validée (ou si vous n'avez pas démarré de transaction), restaurez les données à partir de votre sauvegarde la plus récente.
Voici également quelques conseils afin d'éviter que ce type de situation ne se produise en premier lieu :
- Lorsque vous écrivez un DELETE ou un UPDATE, écrivez toujours la clause WHERE en premier afin de ne pas l'oublier.
- Testez votre clause WHERE dans une instruction SELECT pour vous assurer que vous mettez à jour les lignes correctes.
- Si vous savez que vous ne devez mettre à jour qu'une seule ligne, vous pouvez ajouter LIMIT 1 à votre instruction UPDATE. Ensuite, si malgré l'utilisation des techniques ci-dessus, vous avez toujours une erreur, au moins une seule ligne sera affectée, pas la base de données entière.