sql出現無效的列索引原因:1、占位符與參數數量不一致;2、sql拼接錯誤,注意每個【%】都要用 【”】 包括起來 ?,與參數用【||】拼接;3、錯誤的注釋。
【相關學習推薦:SQL視頻教程】
sql出現無效的列索引原因:
基本可以確定這個錯誤一般都是由低級失誤導致的,請注意檢查自己的sql拼寫
按照網上指出的問題去找,沒有和自己錯誤一樣的,最后在移除一個注釋后正常了,
我用的是idea,用ctrl+/ 加的注釋 ,也就是sql前加? –,
不知為何沒有生效,卻成了錯誤源頭,
在此記錄下防止自己忘記,另外其他幾種可能的拼寫錯誤如下
1.占位符與參數數量不一致
例如當有一個占位符?,但是再此處傳入兩個參數#{a},#{b},
2.sql拼接錯誤
如對于模糊查詢條件 a的拼接
a like ‘%’||#{a}||’%’?
注意每個%都要用 ” 包括起來? ,與參數用 || 拼接
當然也可以這樣寫 a like? CONCAT(CONCAT(‘%’, #{a}), ‘%’)
3.錯誤的注釋
這就是我遇到的情況了,我把不用的sql通過 –注釋掉,
但是注釋卻沒有正常生效,導致無效的列索引出現,刪掉后就好了
當然也可能有其他原因導致這種情況
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END