ホームページ >データベース >mysql チュートリアル >複数のテーブルを更新するときに MySQL が「UPDATE と LIMIT の不正な使用法」エラーをスローするのはなぜですか?
MySQL の複数のテーブルでの UPDATE と LIMIT の誤った使用法
MySQL で JOIN 操作を使用して複数のテーブルを更新する場合、特定の制限が適用されます。このような制限の 1 つは、「UPDATE と LIMIT の使用法が間違っています」というエラー メッセージで示されるように、LIMIT 句を使用できないことです。
問題の修正方法:
UPDATE の MySQL ドキュメントによると、「複数テーブル構文の場合、UPDATE は条件を満たす table_references で指定された各テーブルの行を更新します。この場合、ORDER BY と LIMIT は使用できません。」
したがって、提供されたコード スニペット:
<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>
問題を修正するには、LIMIT 1 句を削除する必要があります。これにより、指定された条件に従って、「users」テーブルと「contact_info」テーブルの両方で一致するすべての行に更新が適用されます。
以上が複数のテーブルを更新するときに MySQL が「UPDATE と LIMIT の不正な使用法」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。