很抱歉,如果这个问题令人困惑。
我继承了一个已经建成的网站,所以我真的不能做太过激烈的事情。
某个页面上的MYSQL查询使用LIMIT仅显示如下相关条目:
comtitlesub.idcts = %s LIMIT 1,3
跳过第一条记录并显示以下三条记录。 我被要求添加一条新记录,这很好,但这是记录号7.记录5和6不应该显示在此页面上,因此将查询更改为:
comtitlesub.idcts = %s LIMIT 1,6
按预期显示所有6条记录。
令人困惑的是,我已经更改了每个记录的ID,以便我的新记录为ID 4,但这并没有什么区别。
是否有一种简单的方法可以“跳过”不需要的记录,或者我是从错误的方向接近这个?
答案 0 :(得分:2)
在查询结束时添加“order by comtitlesub.idcts
”,但在限制子句之前添加。{/ p>
... comtitlesub.idcts = %s ORDER BY comtitlesub.idcts LIMIT 1,6
基本上,更改id不会对它们重新排序,行按照它们的创建顺序存储,并默认以这种方式检索。
答案 1 :(得分:1)
Andrew,LIMIT
将根据特定订单进行分隔,在您的情况下,巧合的是默认订单与ID订单相同,现在您已经更改了它,您需要按ID订购:< / p>
ORDER BY comtitlesub.idcts
答案 2 :(得分:1)
我认为最简单的方法是修改您的WHERE
子句以排除您想要排除的行。例如:
WHERE comtitlesub.idcts = %s AND someothercol NOT IN ('cat','frog','kazoo')
理想情况下,对于可维护性,您希望someothercol
保存稳定数据,而不是数字ID,这可能会随着应用程序数据的变化而变化。