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!