>我有这样的表格:
id subject position visible
1 Home 1 1
2 About us 2 1
3 Our partners 3 1
18 Products 4 1
19 Extra 5 0
我想在 position=2 之后的所有行中添加数字 1,如下所示:
id subject position visible
1 Home 1 1
2 About us 2 1
3 Our partners 4 1
18 Products 5 1
19 Extra 6 0
我试过这样,但这不起作用:
$row=mysql_query("SELECT * FROM table");
$count=mysql_num_rows($row);
$position=3;
$add=($position+1);
while($position<=$count)
{
$sql="UPDATE subjects SET position=$add WHERE position=$position";
mysql_query($sql);
$add++;
$position++;
}
应用上述代码后,我的表如下所示:
id subject position visible
1 Home 1 1
2 About us 2 1
3 Our partners 6 1
18 Products 6 1
19 Extra 6 0
有什么解决办法吗?
为什么不只是:
UPDATE subjects SET position=position+1 WHERE position>2
UPDATE subjects SET position=position + 1 WHERE position >= 3
update subjects set position = position +1 where position >2