亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go SQLX sqlx.DB Get(“sql_function”) 不返回任何值

Go SQLX sqlx.DB Get(“sql_function”) 不返回任何值

Go
叮當貓咪 2022-09-05 10:40:38
這是我的函數:func (a *AirlinesRepository) Get(id int) *models.Airline {   airline := models.Airline{}   a.DB.Get(&airline, "SELECT * FROM fn_airlines_getby_id(?)", id)   return &airline}執行數據庫后。獲取,航空公司將所有屬性設置為零值,而不是使用 sql 函數結果進行填充。我還嘗試了“選擇fn_airlines_getby_id(?)”和“fn_airlines_getby_id(?)”航空公司具有以下特性:type Airline struct {  Id   int64  `db:"id"`  Name string `db:"name"`}功能如下:CREATE OR REPLACE FUNCTION fn_airlines_getby_id(p_id INT)RETURNS TABLE (id INT, name VARCHAR) AS$$BEGIN    RETURN QUERY    SELECT a.id AS id, a.name AS name FROM airlines as a WHERE a.id = p_id;END$$ LANGUAGE plpgsql;更新:查看Postgres的日志,我發現了下一個:ERROR:  syntax error at or near ")" at character 30STATEMENT:  SELECT fn_airlines_getby_id(?)所以似乎沒有解析應該去的值而不是(它適用于正常查詢)sqlx?這是一個Postgres數據庫,該函數存在。
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

使用Postgres的參數占位符而不是sqlx的占位符。更改自

SELECT fn_airlines_getby_id(?)

自:

SELECT * FROM fn_airlines_getby_id($1)


查看完整回答
反對 回復 2022-09-05
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號