首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择with limit并更新表格。Limit无法正常工作。sql

选择with limit并更新表格。Limit无法正常工作。sql
EN

Stack Overflow用户
提问于 2012-01-16 19:28:07
回答 1查看 265关注 0票数 0

我正在尝试使用select using limit更新thable

在像(limit 50)这样的select查询中,当我们只用一个参数输入"limit“时,更新表是正常的

但是当像(limit $sqlFrom, $sqlTo)这样使用"limit“select时,它会更新表,但会跳过第二个(51到100)条记录,并再次从101开始更新。

它每隔50条记录跳过一次

问题出在哪里?

以下是代码

代码语言:javascript
复制
$sqlFrom  = 0;
$sqlTo    = 50;

for($try = 0; $try < 6; $try++) 
{   

 $res = mysql_query("select * from table_name where underprocess = 0 limit " . $sqlFrom . "," . $sqlTo);

 while($row = mysql_fetch_array($res))
 {
     $id = $row['id'];

    mysql_query("update table_name set underprocess = 1 where id = " . $id) or die('error');
    echo $id;

 }


print '<hr/>';
if($sqlFrom != 0)
{
    $sqlFrom += $sqlTo;
}
else
{
    $sqlFrom = $sqlTo;
}
}//for
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-16 19:35:19

这不出所料

当您在第一次迭代的基础上更新第1-50行时,需要设置underprocess = 1。这些在第二次调用中被忽略,因为请求行underprocess = 0

因此,如果您愿意,第一个查询中的第51-100行现在是第二个查询的第1-50行。

你不需要改变你的限制范围,因为你总是想要“第一”50。

笔记

您的限制不能保证,因为您没有ORDER BY。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8879337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档