Utilisation incorrecte de UPDATE et LIMIT avec plusieurs tables dans MySQL
Lors de la mise à jour de plusieurs tables à l'aide d'une opération JOIN dans MySQL, certaines restrictions s'appliquent. L'une de ces restrictions est l'impossibilité d'utiliser la clause LIMIT, comme l'indique le message d'erreur « Utilisation incorrecte de UPDATE et LIMIT ».
Comment résoudre le problème :
Selon la documentation MySQL pour UPDATE, "Pour la syntaxe à tables multiples, UPDATE met à jour les lignes de chaque table nommées dans table_references qui satisfont aux conditions. Dans ce cas, ORDER BY et LIMIT ne peuvent pas être utilisés."
Par conséquent, dans l'extrait de code que vous avez fourni :
<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>
Pour corriger le problème, vous devez supprimer la clause LIMIT 1. Cela entraînera l'application de mises à jour à toutes les lignes correspondantes dans les tables "users" et "contact_info", conformément aux conditions spécifiées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!