Sponsored Link
[MySQL]連番をUPDATEしたい
いきなりやり方
SET @i := 0;
UPDATE `tbl` SET `tbl`.`feild` = (@i := @i + 1);
@i := 0
は変数みたいなもの。
一度定義した後に1を足した数を再度入れなおして連番にしていく感じ。
for文とかwhile文内のi++
みたいなものですね。
SQLのユーザ定義関数をPHP側で実行する場合は、query実行を2回すること。
Ex)Codeigniterを使用
$sql1 = 'SET @i := 0';
$sql2 = 'UPDATE `テーブル名` SET `フィールド名` = (@i := @i +1)';
$this->db->query($sql1);
$this->db->query($sql2);