Heim  >  Artikel  >  Datenbank  >  Warum gibt MySQL beim Aktualisieren mehrerer Tabellen den Fehler „Falsche Verwendung von UPDATE und LIMIT“ aus?

Warum gibt MySQL beim Aktualisieren mehrerer Tabellen den Fehler „Falsche Verwendung von UPDATE und LIMIT“ aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 06:49:29934Durchsuche

Why Does MySQL Throw an

Falsche Verwendung von UPDATE und LIMIT mit mehreren Tabellen in MySQL

Beim Aktualisieren mehrerer Tabellen mithilfe einer JOIN-Operation in MySQL gelten bestimmte Einschränkungen. Eine solche Einschränkung ist die Unmöglichkeit, die LIMIT-Klausel zu verwenden, was durch die Fehlermeldung „Falsche Verwendung von UPDATE und LIMIT“ angezeigt wird.

So beheben Sie das Problem:

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üllen. In diesem Fall können ORDER BY und LIMIT nicht verwendet werden.“

Daher heißt es in Ihrem bereitgestellten Codeausschnitt:

<code class="php">$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";</code>

Um das Problem zu beheben, müssen Sie die LIMIT 1-Klausel entfernen. Dies führt dazu, dass Aktualisierungen gemäß den angegebenen Bedingungen auf alle übereinstimmenden Zeilen in den Tabellen „users“ und „contact_info“ angewendet werden.

Das obige ist der detaillierte Inhalt vonWarum gibt MySQL beim Aktualisieren mehrerer Tabellen den Fehler „Falsche Verwendung von UPDATE und LIMIT“ aus?. 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