Heim > Datenbank > MySQL-Tutorial > Hauptteil

**Wie behebe ich „Fehler 1329: Keine Daten' in gespeicherten Prozeduren, wenn kein Ergebnis erwartet wird?**

Mary-Kate Olsen
Freigeben: 2024-10-28 20:30:30
Original
751 Leute haben es durchsucht

**How to Resolve

So behandeln Sie „Fehler 1329: Keine Daten“ mit gespeicherten Prozeduren

Problem:

Sie haben eine gespeicherte Prozedur das muss keine Werte zurückgeben. Es wird erfolgreich ausgeführt, gibt jedoch nach Abschluss eine Fehlermeldung aus:

Error: No data - zero rows fetched, selected, or processed
Nach dem Login kopieren

Lösung:

Die Fehlermeldung wird angezeigt, weil die gespeicherte Prozedur den Fall nicht explizit behandelt wobei von keiner seiner Operationen Daten zurückgegeben werden. Um dieses Problem zu beheben, können Sie eine DECLARE CONTINUE HANDLER-Anweisung einfügen, um den NOT FOUND-Fehler zu ignorieren:

<code class="sql">DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;</code>
Nach dem Login kopieren

Erklärung:

Die DECLARE CONTINUE HANDLER-Anweisung weist MySQL dazu an Ignorieren Sie den Fehler „NICHT GEFUNDEN“ und fahren Sie mit der Ausführung der gespeicherten Prozedur fort. In Ihrem speziellen Fall sollte diese Anweisung nach der Schleife hinzugefügt werden, die die Zeilen in der Tabelle „customer_tbl“ durchläuft:

<code class="sql">my_cur_loop:
LOOP
FETCH my_cur INTO l_name;
IF done = 1 THEN
LEAVE my_cur_loop;
END IF;
INSERT INTO names_tbl VALUES(l_name);
END LOOP my_cur_loop;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;</code>
Nach dem Login kopieren

Zusätzlicher Hinweis:

Für MySQL-Version 5.5.13 und höher können Sie am Ende der gespeicherten Prozedur auch eine „Dummy“-Anweisung hinzufügen, um die Warnung zu löschen:

<code class="sql">SELECT name INTO l_name FROM customer_tbl LIMIT 1;</code>
Nach dem Login kopieren

Diese Anweisung ist erfolgreich und beinhaltet keine Daten, wodurch die Warnung effektiv gelöscht wird Warnmeldung.

Das obige ist der detaillierte Inhalt von**Wie behebe ich „Fehler 1329: Keine Daten' in gespeicherten Prozeduren, wenn kein Ergebnis erwartet wird?**. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!