sql為什么會出現無效的列索引

sql出現無效的列索引原因:1、占位符與參數數量不一致;2、sql拼接錯誤,注意每個【%】都要用 【”】 包括起來 ?,與參數用【||】拼接;3、錯誤的注釋。

sql為什么會出現無效的列索引

相關學習推薦:SQL視頻教程

sql出現無效的列索引原因:

基本可以確定這個錯誤一般都是由低級失誤導致的,請注意檢查自己的sql拼寫

按照網上指出的問題去找,沒有和自己錯誤一樣的,最后在移除一個注釋后正常了,

我用的是idea,用ctrl+/ 加的注釋 ,也就是sql前加? –,

不知為何沒有生效,卻成了錯誤源頭,

在此記錄下防止自己忘記,另外其他幾種可能的拼寫錯誤如下

1.占位符與參數數量不一致

例如當有一個占位符?,但是再此處傳入兩個參數#{a},#{b},

2.sql拼接錯誤

如對于模糊查詢條件 a的拼接

a like ‘%’||#{a}||’%’?

注意每個%都要用 ” 包括起來? ,與參數用 || 拼接

當然也可以這樣寫 a like? CONCAT(CONCAT(‘%’, #{a}), ‘%’)

3.錯誤的注釋

這就是我遇到的情況了,我把不用的sql通過 –注釋掉,

但是注釋卻沒有正常生效,導致無效的列索引出現,刪掉后就好了

當然也可能有其他原因導致這種情況

更多SQL技術文章,請訪問php中文網SQL視頻教程頻道.

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享