使用限制的Mysql更新

时间:2015-10-26 12:00:21

标签: php mysql sql-update limit

我有这段代码

$sql="select * from wifi where status!='off' limit 0, $limit";
$result=mysql_query($sql);
$i=1;
while($row=mysql_fetch_array($result)){
echo $i.") ".$row["user"]." - ".$row["password"]."<br/>";
$i++;
}

现在我想使用status = off

更新输出结果

我试图使用

$sql="Update wifi Set staus='off' limit 0,6"

但它不起作用

4 个答案:

答案 0 :(得分:1)

您错过了where条件:

Update wifi
    Set status = 'off'
    where status <> 'off'
    limit 0, 6;

但是,不能保证更新select返回的相同行。 SQL不保证两次运行相同的查询会返回相同的行 - 除非您使用ORDER BY。因此,两个查询都应在ORDER BY之前有LIMIT

此外,您应该停止使用mysql_函数并切换到mysqli _。

答案 1 :(得分:0)

$sql="Update wifi Set staus='off' WHERE id IN (
select id from wifi where status!='off' limit 0, $limit
)"

使用相应名称更正您的id字段。

答案 2 :(得分:0)

状态拼写不正确,只是限制数量。

$sql="Update wifi Set status='off' limit 6"

答案 3 :(得分:0)

试试这个..

UPDATE wifi SET staus='off'
  WHERE id IN (
         SELECT id FROM wifi LIMIT 0, 6
     ) temp
 );