我想在达到特定行号时更新 MySQL 表中的一行
这有点令人困惑,因为记录的实际行号不是表中的列。
并且没有迭代 rows 的问题,因为我们没有像中那样迭代数组mysql_fetch_array()
所以,如果我想更新——比如表的第三行,查询会是什么样子?
我是 MySQL 的菜鸟
非常感谢您的帮助!:D
$link = mysqli_connect("localhost", "my_user", "my_password", "my_db");
$query = "SELECT MyColoumn FROM Mytable";
$result = mysqli_query($link, $query);
$row_needed = 3; //Your needed row e.g: 3rd row
for ($i=1,$i=$row_needed,$i++) {
$row = mysqli_fetch_array($result);
}
// now we are in 3rd row
$query = "UPDATE MyColumn FROM MyTable SET MyColumn = '".$MyColumnUpdate."' WHERE MyColumn = '".$row['MyColumn']."' ";
$result = mysqli_query($link, $query);
...
试试这个查询
UPDATE
tbl a,
(Select
@rn:=@rn+1 as rowId,
tbl.*
from
tbl
join
(select @rn:=0) tmp) b
SET
a.columnName = <VALUE>
WHERE
b.rowId = <rowNumber> AND
a.id = b.id;
注意id 列必须是唯一的,您可以使用该表的主键...