0

特定の行番号に達したときに MySQL テーブルの行を更新したい

レコードの実際の行番号はテーブルの列ではないため、これは少し混乱します。

また、配列を反復処理していないため、 rows を反復処理することに疑問の余地はありません。mysql_fetch_array()

では、更新したい場合は、テーブルの 3 行目を例に挙げると、クエリはどのようになりますか?

私はMySQLの初心者です

助けてくれてありがとう!:D

4

2 に答える 2

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);
...
于 2013-04-12T08:34:41.010 に答える
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

于 2013-04-12T08:07:30.207 に答える