439 Stimmen

Die Meldung "Lock wait timeout exceeded; try restarting transaction" wird angezeigt, obwohl ich keine Transaktion verwende.

Ich verwende das folgende MySQL UPDATE Erklärung:

mysql> update customer set account_import_id = 1;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

Ich verwende keine Transaktion, warum sollte ich also diesen Fehler erhalten? Ich habe sogar versucht, meinen MySQL-Server neu zu starten, aber das hat nicht geholfen.

Die Tabelle hat 406.733 Zeilen.

0voto

Smitty Punkte 1392

Spät zu der Partei (wie üblich) jedoch mein Problem war die Tatsache, dass ich schrieb einige schlechte SQL (wobei ein Anfänger) und mehrere Prozesse hatte eine Sperre auf den Datensatz (s) <-- nicht sicher, die entsprechende Wortwahl. Ich endete mit nur: SHOW PROCESSLIST und löschen Sie dann die IDs mit KILL <id>

-4voto

tubostic Punkte 5

Ich hatte den gleichen Fehler, obwohl ich nur eine Tabelle mit einem Eintrag aktualisierte, aber nach einem Neustart von mysql war das Problem behoben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X