**當沒有預期結果時如何解決預存程序中的「錯誤 1329:無資料」?

Mary-Kate Olsen
發布: 2024-10-28 20:30:30
原創
751 人瀏覽過

**How to Resolve

如何使用預存程序處理「錯誤1329:無資料」

問題:

您有一個預存程序不需要傳回任何值。執行成功,但是完成後輸出錯誤訊息:

Error: No data - zero rows fetched, selected, or processed
登入後複製

解決方案:

出現錯誤訊息是因為儲存程序沒有明確處理該情況其中任何操作都不會回傳任何數據。要解決此問題,您可以包含DECLARE CONTINUE HANDLER 語句來忽略NOT FOUND 錯誤:

<code class="sql">DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;</code>
登入後複製

說明:

DECLARE CONTINUE HANDLER 語句告訴錯誤並繼續執行預存程序。在您的特定情況下,應在循環遍歷customer_tbl 表中的行之後添加此語句:

<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>
登入後複製

附加說明:

對於MySQL 版本5.5. 13以上版本,也可以在預存程序末尾加上「dummy」語句來清除警告:

<code class="sql">SELECT name INTO l_name FROM customer_tbl LIMIT 1;</code>
登入後複製
這條語句成功,不涉及任何數據,有效清除了警告警告訊息。

以上是**當沒有預期結果時如何解決預存程序中的「錯誤 1329:無資料」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!