如果你的SQL語句在數據庫中查詢的時候是沒問題的,但是把他寫到代碼中的時候如果報org.postgresql.util.PSQLException: 欄位索引超過許可范圍:1,欄位數:0。這個錯誤,你就可以考慮是不是傳值的地方加了引號(包括單引號和雙引號),就在下圖中紅色箭頭的地方,也就是傳值的地方
就刪掉這個引號,再次執行,就沒有再次出現這個問題了;
另外的幾個傳值問題:
-
#方式能夠很大程度上防止sql注入,而$無法防止sql的注入;
-
$一般用於傳入數據庫對象,例如傳入表名;
-
mybatis排序時使用order by動態參數時是使用$而不是#;
總之能用# 的時候 就不用 $ 這就好了;