Heim  >  Artikel  >  Datenbank  >  Warum gibt meine MySQL-UPDATE-Abfrage „0 betroffene Zeilen“ zurück?

Warum gibt meine MySQL-UPDATE-Abfrage „0 betroffene Zeilen“ zurück?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 05:31:30579Durchsuche

Why is my MySQL UPDATE query returning

MySQL UPDATE-Abfrage gibt „0 betroffene Zeilen“ zurück

Die MySQL UPDATE-Anweisung wird verwendet, um die Daten in einer vorhandenen Tabelle zu ändern. Ein häufig auftretendes Problem besteht darin, trotz erfolgreicher Abfrageausführung die Meldung „0 Zeilen betroffen“ zu erhalten.

In diesem speziellen Fall zielt die UPDATE-Abfrage darauf ab, die Spalte „Angerufen“ in der Tabelle „Telefonanrufe“ für eine bestimmte Telefonnummer auf „Ja“ zu aktualisieren . Die Abfrage gibt jedoch „0 Zeilen betroffen“ zurück.

Verstehen des Problems

Die Meldung „0 Zeilen betroffen“ gibt an, dass dadurch keine Zeilen geändert wurden die ausgeführte Abfrage. Dies kann mehrere Gründe haben:

  • Falsche Syntax:Stellen Sie sicher, dass die Abfragesyntax korrekt ist.
  • Nicht vorhandene Telefonnummer: Stellen Sie sicher, dass die angegebene Telefonnummer tatsächlich in der Datenbank vorhanden ist.
  • Bereits aktualisiert: Wenn die Spalte „Angerufen“ für die angegebene Telefonnummer bereits auf „Ja“ gesetzt ist, nimmt die UPDATE-Abfrage keine Änderungen vor .

Fehlerbehebung

Um dieses Problem zu beheben, befolgen Sie die folgenden Schritte:

  1. Überprüfen Sie die Telefonnummer:Bestätigen Sie, dass die in der Abfrage verwendete Telefonnummer mit der richtigen Zeile in der Tabelle übereinstimmt.
  2. Überprüfen Sie den aktuellen aufgerufenen Wert:Verwenden Sie eine SELECT-Abfrage, um den aktuellen Wert der Spalte „Angerufen“ zu überprüfen die angegebene Telefonnummer. Wenn sie bereits auf „Ja“ gesetzt ist, nimmt die UPDATE-Abfrage keine Änderungen vor.
  3. Verwenden Sie eine WHERE-Bedingung: Geben Sie eine bestimmte Telefonnummer in der WHERE-Klausel an, um sicherzustellen, dass nur die gewünschten Zeile wird aktualisiert. Zum Beispiel:
UPDATE phonecalls SET Called = "Yes" WHERE PhoneNumber = "999 29-4655" AND Called <> "Yes";

Durch Hinzufügen der Bedingung Called <> „Ja“, die Abfrage wird nur ausgeführt, wenn der aktuelle Wert der Spalte „Aufgerufen“ nicht „Ja“ ist.

Das obige ist der detaillierte Inhalt vonWarum gibt meine MySQL-UPDATE-Abfrage „0 betroffene Zeilen“ zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn