如果找不到記錄則回傳一個值
當特定記錄不存在時,遇到「無行」錯誤可能會令人沮喪一個資料庫表。要解決此問題,可以修改查詢以傳回空值而不是錯誤。
解決方案
最有效的方法是將初始查詢封裝在子查詢中。透過這樣做,「無行」條件將轉換為空值。此解決方案已在 PostgreSQL、SQLite、SQL Server 和 MySQL 上成功測試。
範例程式碼
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
此查詢將擷取 ID 值,如果記錄存在,如果找不到則傳回NULL。
其他注意
在Oracle 中,您可以從虛擬1 行表DUAL 中進行選擇以獲得相同的結果:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
對於DB2,請使用以下語法:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
Firebird使用者可以採用此解決方案:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
此技術有效地處理解決了沒有找到記錄時返回空值的問題,確保在沒有特定資料的情況下查詢也能順利運行。
以上是資料庫查詢沒有找到記錄時如何傳回值(NULL)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!