我想使用node-postgres模塊在postgres中創建一個「準備好的語句」。我想創建它,而不綁定到參數,因爲綁定將發生在循環中。node-postgres:如何在不執行查詢的情況下準備語句?
在documentation我讀:
query(object config, optional function callback) : Query
If _text_ and _name_ are provided within the config, the query will result in the creation of a prepared statement.
我試圖
client.query({"name":"mystatement", "text":"select id from mytable where id=$1"});
但是當我嘗試只通過文字&名鍵的配置對象,我得到一個異常:
(已翻譯)消息綁定了0個參數,但準備好的語句期望1
有什麼我失蹤?你如何創建/準備一份陳述,而不將其綁定到具體的價值,以避免在循環的每一步重新準備陳述?
與解決方案的問題是,準備的語句將在創建時使用了「任何」值來執行。使用循環的第一次迭代來創建它也感覺很尷尬 –
這就是我設計API的方式,至少這是我通過閱讀文檔並在我自己的項目中使用它所得到的結果。API需要你在需要使用它的時候創建你的查詢對象,然後它會根據它是否知道你已經在'text'中輸入的內容來確定是否需要準備一個語句。 –