sql為什么會(huì)出現(xiàn)無(wú)效的列索引

sql出現(xiàn)無(wú)效的列索引原因:1、占位符與參數(shù)數(shù)量不一致;2、sql拼接錯(cuò)誤,注意每個(gè)【%】都要用 【”】 包括起來(lái) ?,與參數(shù)用【||】拼接;3、錯(cuò)誤的注釋。

sql為什么會(huì)出現(xiàn)無(wú)效的列索引

相關(guān)學(xué)習(xí)推薦:SQL視頻教程

sql出現(xiàn)無(wú)效的列索引原因:

基本可以確定這個(gè)錯(cuò)誤一般都是由低級(jí)失誤導(dǎo)致的,請(qǐng)注意檢查自己的sql拼寫

按照網(wǎng)上指出的問(wèn)題去找,沒(méi)有和自己錯(cuò)誤一樣的,最后在移除一個(gè)注釋后正常了,

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

不知為何沒(méi)有生效,卻成了錯(cuò)誤源頭,

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

1.占位符與參數(shù)數(shù)量不一致

例如當(dāng)有一個(gè)占位符?,但是再此處傳入兩個(gè)參數(shù)#{a},#{b},

2.sql拼接錯(cuò)誤

如對(duì)于模糊查詢條件 a的拼接

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

注意每個(gè)%都要用 ” 包括起來(lái)? ,與參數(shù)用 || 拼接

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

3.錯(cuò)誤的注釋

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

但是注釋卻沒(méi)有正常生效,導(dǎo)致無(wú)效的列索引出現(xiàn),刪掉后就好了

當(dāng)然也可能有其他原因?qū)е逻@種情況

更多SQL技術(shù)文章,請(qǐng)?jiān)L問(wèn)php中文網(wǎng)SQL視頻教程頻道.

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享