国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

瀏覽:160日期:2023-10-10 12:58:28

MySQL 報錯:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

前言 今天在使用MySQL語句執(zhí)行增刪改查操作時,控制臺報出了以下錯誤:Parameter index out of range (1 > number of parameters, which is 0)。翻譯過來意思就是:查到結(jié)果數(shù)據(jù)為1,真實值應(yīng)為0,參數(shù)越界,產(chǎn)生錯誤。如此也就明確了我們具體出錯的地方——參數(shù),即對于通配符'?'的處理。本文分別對執(zhí)行普通 SQL 語句以及使用 like 語句進行通配符模糊查詢遇到本錯誤進行了剖析,并給出解決方案。

MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

一、分析 SQL 語句

1、普通 SQL 語句的查詢分析

首先,我們來分析一下我之前使用的 SQL 語句:

String sql = 'select count(*) from tab_route where cid = ?';

說明:我們直接使用通配符'?'來代替參數(shù),使用 Spring 框架的 JdbcTemplate 執(zhí)行增刪改查操作。在這里是沒有任何問題的。

2、普通 SQL 查詢語句如何處理

如果在這里出錯,請按照如下方式進行解決:

檢查通配符'?'的格式,注意是在英文輸入法下輸入,非中文問號;檢查 SQL 語句,使用通配符傳遞的參數(shù)是不加引號的,比如下面的就是錯誤的:

String sql = 'select count(*) from tab_route where cid = ’?’';

3、使用 like 通配符模糊查詢語句分析

同理,我們依舊采用上面的方式進行模糊查詢操作,來看一下出錯的 SQL 語句:

String sql = 'select count(*) from tab_route where rname like ’%?%’;

執(zhí)行結(jié)果報錯:Parameter index out of range (1 > number of parameters, which is 0)。

結(jié)果分析:查到結(jié)果數(shù)據(jù)為1,真實值應(yīng)為0,參數(shù)越界,產(chǎn)生錯誤。

我們明確如下語句是沒有任何問題的:

String sql = select * from tab_route where rname like ’%張%’;

如此也就明確了我們具體出錯的地方——參數(shù),即對于 like 語句中通配符'?'的處理。

二、like 語句使用通配符模糊查詢剖析

1、like 語句的應(yīng)用場景

使用 like 通配符進行模糊查詢是我們在項目中常遇到的,比如在搜索框中對于數(shù)據(jù)的模糊查詢。

2、模糊查詢剖析

在 SQL 語句中無法直接對’%?%’進行解析,所以我們需要對連接的字符串進行處理,使用動態(tài)拼接concat()方法將’%?%’中的內(nèi)容進行連接,然后再執(zhí)行增刪改查操作。

concat(str1,str2,str3...)會生成一個新的字符串

3、正確語句

String sql = 'select count(*) from tab_route where rname like concat(’%’,?,’%’)';

三、MyBatis like 模糊查詢及關(guān)鍵字區(qū)分

在 MyBatis 中使用 like 模糊查詢,應(yīng)注意關(guān)鍵字為:#{str},查詢子句為:

select * from table where name like concat(’%’,#{name},’%’);

而如果添加排序字段,應(yīng)注意關(guān)鍵字為:${str},查詢子句為:

select * from table where name like concat(’%’,#{name},’%’) order by ${id};

總結(jié) 本文分別對執(zhí)行普通 SQL 語句以及使用 like 語句進行通配符模糊查詢遇到錯誤進行了剖析,并給出相應(yīng)解決方案。同時補充了在 MyBatis 中對模糊查詢的操作以及不同關(guān)鍵字的區(qū)分。代碼之路漫漫,望諸君細致。

MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

到此這篇關(guān)于MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)的文章就介紹到這了,更多相關(guān)MySQL 模糊查詢like內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
主站蜘蛛池模板: 日本免费观看的视频在线 | 天天拍拍夜夜出水 | 久久国产精品久久精 | 久久综合伊人77777 | 一本色道久久88亚洲综合 | 国产在视频线精品视频二代 | 免费高清一级欧美片在线观看 | 一级毛片免费在线播放 | 欧美成人免费全部观看天天性色 | 午夜伦4480yy妇女久久久 | 波多野结衣一区二区 | 欧美午夜三级我不卡在线观看 | 欧美大片毛片aaa免费看 | 毛片网站在线看 | 国产成人看片免费视频观看 | 九九99久久精品国产 | 欧美日韩一区二区在线视频 | 欧美一级成人免费大片 | 日本加勒比在线 | 欧美黑大粗硬毛片视频 | 成人毛片免费观看视频大全 | 国产成人99精品免费观看 | 日韩欧美在线观看视频一区二区 | 欧美一区二三区 | 精品欧美成人bd高清在线观看 | 久久中文字幕在线观看 | 夜色邦合成福利网站 | 国产孕妇孕交视频在线观看 | 精品厕拍 | 18免费网站| 久久久网站 | 亚洲看片网站 | 日韩精品视频一区二区三区 | 久久久久久久久久久9精品视频 | 亚洲国产天堂在线网址 | 99视频在线永久免费观看 | 久久国产精品久久精品国产 | 久久在线国产 | 在线播放日韩 | 乱码一区| 正在播放国产一区 |