sql 報 無效的列索引 可能的原因

2021-09-30 21:08:20 字數 656 閱讀 4721

今天遇到了sql報無效的列索引錯誤,在網上找了找問題,基本都在說是sql拼寫錯誤,

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

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

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

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

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

1.佔位符與引數數量不一致

例如當有乙個佔位符?,但是再此處傳入兩個引數#,#,

2.sql拼接錯誤

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

a like '%'||#||'%' 

注意每個%都要用 '' 包括起來  ,與引數用 || 拼接

當然也可以這樣寫 a like  concat(concat('%', #), '%')

3.錯誤的注釋

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

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

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

總之遇到這樣的錯誤 自習檢查sql語句是否拼寫正確尤其是標點符號問號佔位符,是否給引數兩邊留有空格,是否引數外面沒有單引號或雙引號引起。

mysql動態sql無效 sql動態列的問題?

一種效率並不高的方案,我想想看有沒有更加高效的方法,想到後在來編輯 create table ttd pname varchar 30 pcode int,cname varchar 30 ccode int,yname varchar 30 ycode int insert into ttd pn...

無效的列型別 MySql的索引型別及索引資料結構

每日17點準時技術乾貨分享 mysql儲存引擎 myisam 擁有較高的插入,查詢速度,但不支援事務 innodb 5.5版本後mysql的預設資料庫,事務型資料庫的首選引擎,支援acid事務,支援行級鎖定 mysql索引資料結構 btree和hash btree和hash的區別 1 hash 索引...

PHP ini set 無效的原因

php配置中,post max size,upload max filesize用 ini set 方法是修改不了的.正確的做法是用.htaccess檔案 plain php value upload max filesize 1024m php value post max size 1024m ...