Vom mysql manual:
Wenn die Verbindung für eine Client-Sitzung beendet, ob normal oder abnormal, der Server implizit veröffentlicht Alle Tabellensperren, die von der -Sitzung gehalten werden (transaktionsbezogen und nicht transaktional). Wenn der Client erneut verbindet, sind die Sperren nicht mehr wirksam.
Sie (oder phpMyAdmin) starten eine Sitzung, wenn Sie eine Datenbankverbindung in Ihrem Skript öffnen. Wenn Ihr - oder phpMyAdmin - Skript beendet ist, wird die Datenbankverbindung automatisch geschlossen und die Sitzung beendet.
Wenn Ihr Skript nur für eine kurze Zeit ausgeführt wird, werden Sie die Sperre nicht bemerken, da sie fast sofort freigegeben wird.
Um zu testen, ob Ihr Code funktioniert, müssten Sie eine Datenbankverbindung öffnen, die Lock-Anweisung ausführen und eine sleep(60);
(zum Beispiel ...) hinzufügen, um die Sperre für eine Minute zu halten.
Haben Sie einen Fehler oder etwas bekommen? – DestinatioN
Die Sperre wird wahrscheinlich ausgelöst, wenn die Sitzung (das Skript im Falle Ihres Skripts oder phpMyAdmin ...) endet, so dass Sie es nie bemerken werden, bis Sie Ihr Skript für eine Weile schlafen lassen. – jeroen
Nein, es heißt, dass die Abfrage erfolgreich ausgeführt wurde, aber die Tabelle nicht gesperrt ist –