Mysqlデータベースの状態を一括更新しますか?
次のフォームがあります:
id 日時 youliang_procd
51555 2013-1-18 7:40 173
51556 2013-1-18 7:43 173
51557 2013-1-18 7:50 0
51558 2013-1-18 7:50 0
51572 2013-1-18 8:03 0
51573 2013-1-18 8:04 0
51574 2013-1-18 8:04 0
51575 2013-1-18 8:05 0
51576 2013-1-18 8:11 170
51577 2013-1-18 8:14 170
51578 2013-1-18 8:14 0
51579 2013-1-18 8:15 0
51580 2013-1-18 8:21 167
51581 2013-1-18 8:24 167
51582 2013-1-18 8:30 0
51583 2013-1-18 8:30 0
51584 2013-1-18 8:30 0
質問: フィールド youliang_procd=0 の場合、youliang_procd の値を前のレコードのこのフィールドの値に更新します。更新された結果は次のようになります:
id 日時 youliang_procd
51555 2013-1-18 7:40 173
51556 2013-1-18 7:43 173
51557 2013-1-18 7:50 173
51558 2013-1-18 7:50 173
51572 2013-1-18 8:03 173
51573 2013-1-18 8:04 173
51574 2013-1-18 8:04 173
51575 2013-1-18 8:05 173
51576 2013-1-18 8:11 170
51577 2013-1-18 8:14 170
51578 2013-1-18 8:14 170
51579 2013-1-18 8:15 170
51580 2013-1-18 8:21 167
51581 2013-1-18 8:24 167
51582 2013-1-18 8:30 167
51583 2013-1-18 8:30 167
51584 2013-1-18 8:30 167
英雄の皆さん、この SQL ステートメント (MySql データベース内) の書き方を教えてください。ありがとう、オンラインで待っています。
set @v:=0;<br /> <br /> update tbl_name, (select id, @v:=if(youliang_procd,youliang_procd,@v) as u from tbl_name) t<br /> set tbl_name.youliang_procd=t.u where tbl_name.id=t.id;