Maison  >  Article  >  base de données  >  Pourquoi ma requête MySQL UPDATE renvoie-t-elle « 0 lignes affectées » ?

Pourquoi ma requête MySQL UPDATE renvoie-t-elle « 0 lignes affectées » ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 05:31:30579parcourir

Why is my MySQL UPDATE query returning

La requête MySQL UPDATE renvoie "0 lignes affectées"

L'instruction MySQL UPDATE est utilisée pour modifier les données d'une table existante. Un problème courant rencontré est la réception du message « 0 lignes affectées » malgré l'exécution réussie de la requête.

Dans ce cas particulier, la requête UPDATE vise à mettre à jour la colonne Appelé de la table des appels téléphoniques sur « Oui » pour un numéro de téléphone spécifique. . Cependant, la requête renvoie « 0 ligne affectée ».

Comprendre le problème

Le message « 0 ligne affectée » indique qu'aucune ligne n'a été modifiée à la suite de la requête exécutée. Cela peut se produire pour plusieurs raisons :

  • Syntaxe incorrecte : Assurez-vous que la syntaxe de la requête est correcte.
  • Numéro de téléphone inexistant : Vérifiez que le PhoneNumber spécifié existe réellement dans la base de données.
  • Déjà mis à jour : Si la colonne Appelé est déjà définie sur "Oui" pour le PhoneNumber spécifié, la requête UPDATE n'apportera aucune modification. .

Dépannage

Pour résoudre ce problème, envisagez les étapes suivantes :

  1. Vérifiez le numéro de téléphone : Confirmez que le numéro de téléphone utilisé dans la requête correspond à la bonne ligne du tableau.
  2. Vérifiez la valeur actuellement appelée : Utilisez une requête SELECT pour vérifier la valeur actuelle de la colonne appelée pour le numéro de téléphone spécifié. Si elle est déjà définie sur "Oui", la requête UPDATE n'apportera aucune modification.
  3. Utilisez une condition WHERE : Spécifiez un numéro de téléphone spécifique dans la clause WHERE pour garantir que seul le numéro de téléphone souhaité la ligne est mise à jour. Par exemple :
UPDATE phonecalls SET Called = "Yes" WHERE PhoneNumber = "999 29-4655" AND Called <> "Yes";

En ajoutant la condition Appelé <> "Oui", la requête ne s'exécutera que si la valeur actuelle de la colonne Appelée n'est pas "Oui".

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!

Déclaration:
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