Heim >Datenbank >MySQL-Tutorial >So beheben Sie den MySQL-Fehler: „Sie können in der FROM-Klausel keine Zieltabelle für die Aktualisierung angeben'?
Fehlerbehebung bei MySQL-Fehler: „Sie können in der FROM-Klausel keine Zieltabelle für die Aktualisierung angeben“
Dieser häufige MySQL-Fehler tritt auf, wenn Ihre UPDATE
-Anweisung eine Unterabfrage enthält, die auf dieselbe Tabelle verweist, die aktualisiert wird. Die Einschränkung dieser Praxis durch MySQL ergibt sich aus den internen Verarbeitungseinschränkungen.
Die Lösung besteht darin, den Tabellenverweis mithilfe von Klammern in die innere Abfrage einzukapseln. Dadurch wird ein temporärer, unabhängiger Datensatz für den Aktualisierungsvorgang erstellt. Betrachten Sie dieses Beispiel:
<code class="language-sql">UPDATE myTable SET myTable.A = (SELECT B FROM (SELECT * FROM myTable) AS subquery)</code>
Hier wird myTable
in der inneren Abfrage mit dem Alias subquery
versehen, wodurch es effektiv von der Hauptanweisung UPDATE
getrennt wird. MySQL verwendet dann die Ergebnismenge dieser Unterabfrage, um die Aktualisierung durchzuführen.
Für eine optimale Leistung wählen Sie nur die erforderlichen Spalten in der inneren Abfrage aus und fügen Sie immer eine WHERE
-Klausel ein, um die aktualisierten Zeilen zu verfeinern. Dies verhindert eine unnötige Verarbeitung der gesamten Tabelle.
Das obige ist der detaillierte Inhalt vonSo beheben Sie den MySQL-Fehler: „Sie können in der FROM-Klausel keine Zieltabelle für die Aktualisierung angeben'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!