Heim  >  Artikel  >  Datenbank  >  Warum kann ich LIMIT nicht in einer UPDATE-Abfrage mit mehreren Tabellen in MySQL verwenden?

Warum kann ich LIMIT nicht in einer UPDATE-Abfrage mit mehreren Tabellen in MySQL verwenden?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 02:50:02633Durchsuche

Why Can't I Use LIMIT in an UPDATE Query with Multiple Tables in MySQL?

Falsche Verwendung von UPDATE und LIMIT in MySQL-Abfragen

Frage:

Wie kann ich Den Fehler „Falsche Verwendung von UPDATE und LIMIT“ beim Ausführen einer MySQL-Abfrage beheben?

Problem:

Der folgende MySQL-Code löst einen Fehler aufgrund der falschen Verwendung von UPDATE aus und LIMIT:

$q = "UPDATE users INNER JOIN contact_info ON contact_info.user_id = users.user_id SET active.users = NULL WHERE (email.contact_info = '" . mysqli_real_escape_string($mysqli, $x) . "' AND active.users = '" . mysqli_real_escape_string($mysqli, $y) . "') LIMIT 1";

Antwort:

In der MySQL-Dokumentation für UPDATE heißt es:

"Für die Mehrfachtabellensyntax aktualisiert UPDATE Zeilen in jeder in table_references genannten Tabelle, die die Bedingungen erfüllt. In diesem Fall können ORDER BY und LIMIT nicht verwendet werden Klausel. Diese Einschränkung dient dazu, inkonsistente Aktualisierungen über mehrere Tabellen hinweg zu verhindern.

Korrektur:

Um den Fehler zu beheben, entfernen Sie die LIMIT-Klausel aus der Abfrage:

Das obige ist der detaillierte Inhalt vonWarum kann ich LIMIT nicht in einer UPDATE-Abfrage mit mehreren Tabellen in MySQL verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn