gpt4 book ai didi

java - 在 mysql 查询中使用带有 like 关键字的 limit 给出 0 行

转载 作者:行者123 更新时间:2023-11-29 08:07:20 27 4
gpt4 key购买 nike

我试图为我的项目创建一个分页,但是,当我尝试从java代码执行查询时,为了获取基于搜索关键字的行,我得到了0行。但 mysql 数据库中仍然存在多于行。

我尝试了 mysql 查询:

SELECT SQL_CALC_FOUND_ROWS * FROM books where keyword like '%java%' limit 1,5;

此查询给我 0 个结果。

在尝试的过程中

SELECT SQL_CALC_FOUND_ROWS * FROM books where keyword like '%java%' limit 5;

这会给我 1 个结果,因为我有一行与关键字对应。但如果结果超过 5 个,那么它不会向我显示更多 5 个结果,我想用它来控制从数据库检索的页面。

任何人请在这里提供帮助。

最佳答案

含义

limit 1, 5 

是,选择第 2 行开始,总共 5 条记录(如果找到)。

但就您而言,对于搜索条件,因为只存在一条记录,并且你要的是第2条到第6条记录,一共5条记录,结果为空。

更改:

limit 1,5;

致:

limit 0, 5; -- to fetch first 5 records from the found

或者

limit 5; -- to fetch first 5 records from the found

要查找找到的记录总数,您需要执行

select found_rows()

SQL_CALC_FOUND_ROWS一起使用时。

操作顺序应该是:

SELECT SQL_CALC_FOUND_ROWS * FROM books where keyword like '%java%' limit 5;
SELECT FOUND_ROWS();

第二个 SELECT 返回一个数字,表示如果没有使用 LIMIT 子句,第一个 SELECT 将返回多少行。

引用:MySQL: Found_Rows()

关于java - 在 mysql 查询中使用带有 like 关键字的 limit 给出 0 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22440694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com