我有这样一张桌子:
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
Run Code Online (Sandbox Code Playgroud)
我想在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
Run Code Online (Sandbox Code Playgroud)
我试过这样,但这不起作用:
$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++;
}
Run Code Online (Sandbox Code Playgroud)
应用上面的代码后,我的表看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
有什么解决方案吗?
Nie*_*sol 11
为什么不呢:
UPDATE subjects SET position=position+1 WHERE position>2
Run Code Online (Sandbox Code Playgroud)