Om uttalandet fortfarande körs kan du använda KILL QUERY <thread_id>
.
Om uttalandet har slutförts men du ännu inte har genomfört transaktionen kan du använda ROLLBACK
.
Om uttalandet har slutförts och transaktionen redan är genomförd (eller om du inte startade en transaktion), återställ sedan data från din senaste säkerhetskopia.
Här är också några tips råd för att förhindra att denna typ av situation inträffar i första hand:
- När du skriver en DELETE eller UPDATE skriv alltid WHERE-satsen först så att du inte glömmer den.
- Testa din WHERE-sats i en SELECT-sats för att se till att du uppdaterar rätt rader.
- Om du vet att du bara ska uppdatera en rad kan du lägga till LIMIT 1 i ditt UPDATE-uttryck. Om du sedan trots att du använder ovanstående tekniker fortfarande har ett fel kommer åtminstone en rad att påverkas, inte hela databasen.