gpt4 book ai didi

mysql - 使用mysql中动态生成的值更新单列的多行

转载 作者:行者123 更新时间:2023-11-29 11:22:16 24 4
gpt4 key购买 nike

在数据库表中,我有以下列

ID   CLASS        HEIGHT
R0 RECTANGLE 40px
R1 RECTANGLE 40px
S0 SQUARE 20px
R2 RECTANGLE 40px
R3 RECTANGLE 40px

现在,如果我要删除 ID='R1' 的行,我想将 R2 的 ID 更改为 R1,将 R3 的 ID 更改为 R2,依此类推。 如果删除任何行,那么我已经尝试过:

 $numofRectangles // total number of rows with class='RECTANGLE'
for($i=0;$i<$numofRectangles;$i++)
{
$RectId="R".$i;
$updatequery=mysql_query("update TABLE1 set ID='$RectId' where CLASS='RECTANGLE'");
}

但是,这是用最后一次迭代更新所有 ID

最佳答案

这绝对正常,因为每次执行更新查询时,它都会更新类列中具有“RECTANGLE”的所有列,您应该在 where 子句中使用更具体的标识符。

这应该有效。

$idnum=0;
$query=mysql_query("select ID from TABLE1 where class='RECTANGLE'");
while($row=mysql_fetch_assoc($query))
{
mysql_query("update TABLE1 set ID='R$idnum' where ID='".$row["ID"]."'");
}

关于mysql - 使用mysql中动态生成的值更新单列的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38719160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com