MySQL更新查询 - 按行号

时间:2013-04-12 07:58:05

标签: php mysql

我想在达到特定行号时更新MySQL表中的行

这有点令人困惑,因为记录的实际行号不是表格中的列。

并且没有迭代行的问题,因为我们没有像mysql_fetch_array()

那样迭代数组

所以,如果我想更新 - 比如表格的第3行,查询会是什么样的?

我是MySQL的菜鸟

非常感谢您的帮助! :d

2 个答案:

答案 0 :(得分:1)

$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);
...

答案 1 :(得分:0)

尝试此查询

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列必须是唯一的,您可以使用该表的主键...

SQLFIDDLE