首頁 >後端開發 >Golang >為什麼我在 PostgreSQL 查詢中收到「輸入結束時出現語法錯誤」?

為什麼我在 PostgreSQL 查詢中收到「輸入結束時出現語法錯誤」?

Linda Hamilton
Linda Hamilton原創
2024-12-18 02:10:11460瀏覽

Why Am I Getting a

理解PostgreSQL 中的“Syntax Error at End of Input”

在PostgreSQL 中,經常出現“syntax error at end of input”的錯誤訊息表示預期語法與解析器收到的輸入之間存在差異。讓我們深入研究為什麼在您的特定情況下會出現此錯誤:

您的查詢使用「?」作為參數佔位符,與 MySQL 相容,但與 PostgreSQL 不相容。在 PostgreSQL 中,準備好的語句使用「$1」、「$2」等作為參數佔位符。依下列方式修改查詢將解決此問題:

db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)

此變更可確保查詢語法遵守 PostgreSQL 的約定。

PostgreSQL 錯誤訊息確實可能很神秘,但在這種情況下,由於佔位符不正確,解析器將輸入的結尾誤解為語法錯誤。將查詢與 PostgreSQL 語法對齊,可以避免此錯誤。

以上是為什麼我在 PostgreSQL 查詢中收到「輸入結束時出現語法錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn