Entweder unterstützt Dein SQL Tool so etwas oder arbeitest einfach grundsätzlich ohne autocommit.
Wenn dann auf einmal anstatt “1 row(s) deleted” die Meldung “204834 row(s) deleted” angezeigt wird (oder wie auch immer die Meldung Deines SQL Tools lautet), machst Du einfach ein ROLLBACK, und alles ist gut.
Im übrigen hilft die Einstellung bei MySQL auch nicht viel, denn ein DELETE FROM foo WHERE 1 wird auch einfach alle Datensätze löschen obwohl ein WHERE vorhanden ist.
genau so etwas habe ich gemeint.
Und wenn ich nun das ‘where <= 5’ weglasse, wird eben die ganze Tabelle geaendert, obwohl eigentlich nur eben z.B. die 5 Eintraege aendern wollte.
Tja, eine funktionierende Implementierung eines Gedankenlesers fehlt halt noch. Ohne WHERE bekommst beim SELECT halt alle Rows, und beim UPDATE diese geändert.
Wenn Du Auto fährst und nach links lenkst, obwohl Du eigentlich nach rechts willst, was passiert dann?
Die Antwort von castorp war dazu eben hilfreich.
Danke.
K.D.J.
ACK. Wenn man interaktiv auf wichtigen Daten arbytet sollte man autocommit abschalten.