Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi MySQL renvoie-t-il l'erreur « Utilisation incorrecte de UPDATE et LIMIT » ?

Susan Sarandon
Libérer: 2024-10-27 11:20:02
original
610 Les gens l'ont consulté

Why Does MySQL Throw

Utilisation incorrecte de UPDATE et LIMIT

Les utilisateurs MySQL peuvent rencontrer l'erreur « Utilisation incorrecte de UPDATE et LIMIT » lorsqu'ils tentent d'exécuter des requêtes impliquant à la fois l'instruction UPDATE et l'instruction UPDATE. Clause LIMIT.

Pour résoudre ce problème, il est important de comprendre les limites de l'instruction UPDATE lorsqu'elle est utilisée avec plusieurs tables. Selon la documentation MySQL, "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."

Dans l'exemple code fourni :

$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";
Copier après la connexion

La requête tente d'effectuer une mise à jour en utilisant plusieurs tables (users et contact_info) tout en appliquant également une clause LIMIT. Comme expliqué précédemment, LIMIT ne peut pas être utilisé dans de tels scénarios.

Pour résoudre le problème, envisagez de modifier la requête comme suit :

$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) . "');";
Copier après la connexion

En supprimant la clause LIMIT, la requête s'exécutera avec succès et mettez à jour la ou les lignes spécifiées dans la table des utilisateurs.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!