首頁 > 後端開發 > Golang > 為什麼我的 PostgreSQL 查詢會回傳「輸入末尾的語法錯誤」?

為什麼我的 PostgreSQL 查詢會回傳「輸入末尾的語法錯誤」?

DDD
發布: 2024-12-26 02:56:10
原創
410 人瀏覽過

Why Does My PostgreSQL Query Return a

理解PostgreSQL 中的「Syntax error at end of input」錯誤

在PostgreSQL 中,錯誤訊息掃描「pq: F:」 .l" M:"輸入末尾語法錯誤" S:"錯誤" C:"42601" P:"50" R:"scanner_yyerror" L:"993"" 表示 SQL 語句語法有問題。

原因:

具體問題在這種情況下,可能是由於準備好的語句中使用了參數佔位符。

MySQL 使用 ?作為參數佔位符,而 PostgreSQL 使用 $1、$2 等。在提供的 SQL 語句中:

db.Query(`SELECT COUNT(*) as N FROM email WHERE address = ?`, email)
登入後複製

問號 (?) 用作電子郵件地址的佔位符。但是,PostgreSQL 無法辨識此語法。

解:

要解決此問題,只需將問號替換為 $1:

db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)
登入後複製

建議:

為了避免將來出現此類錯誤,請始終使用特定資料庫系統支援的正確參數佔位符。

以上是為什麼我的 PostgreSQL 查詢會回傳「輸入末尾的語法錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板