以下代碼返回錯誤:stmt, err := DBCon.Prepare("SELECT * FROM item WHERE market_hash_name LIKE '%?%' ")handle_error(err)res, err := stmt.Query(market_hash_name)錯誤: 2022/07/09 19:57:56 http: panic serving <ip> sql: expected 0 arguments, got 1這個聲明有效:stmt, err := DBCon.Prepare("SELECT * FROM item WHERE market_hash_name LIKE ? ")我怎樣才能逃脫這個%標志?
1 回答

子衿沉夜
TA貢獻1828條經(jīng)驗 獲得超3個贊
我怎樣才能逃脫 %sign ?
問題不在于百分號,問題在于它?
在string literal內(nèi)部,這使其成為文字問號而不是參數(shù)占位符。并且由于該語句不將文字問號識別為參數(shù)占位符,因此它不需要參數(shù),這就是錯誤顯示的原因:expected 0 arguments
。
要添加%
到參數(shù)中,您至少有兩個選擇:
將百分號添加到 Go 參數(shù)
market_hash_name
中,例如
stmt.Query("%"+market_hash_name+"%")
將百分號連接到
?
SQL 字符串中的
CONCAT('%', ?, '%')
- 1 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報
0/150
提交
取消