[英]MYSQL, PHP update table
我扫描了互联网两天,没有任何结果。 我尝试使用与前面的单元格相同的值更新MYSQL表中的空单元格:
+-------+ +-------+
|ID |VAL| |ID |VAL|
+-------+ +-------+
| 1 | 7 | | 1 | 7 |
| 2 | | | 2 | 7 |
| 3 | | | 3 | 7 |
| 4 | 4 | | 4 | 4 |
| 5 | 5 |after:| 5 | 5 |
| 6 | | | 6 | 5 |
| 7 | | | 7 | 5 |
| 8 | 8 | | 8 | 8 |
| 9 | 3 | | 9 | 3 |
|10 | | |10 | 3 |
+-------+ +-------+
这是我的解决方案,希望能对您有所帮助
$old_datas = [ [1,7], [2,null], [3,null], [4,4], [5,5], [6,null], [7,null] ]; // get old data from table as array : select * from table where 1 order by id ASC; // set default pre value $pre_val = 0; foreach( $old_datas as $old_data ){ if( !$old_data['VAL'] ){ // update table set VAL=$pre_val where id=$old_data['ID'] }else{ $pre_val = $old_data['VAL']; } }
感谢您的回答,这终于成功了
UPDATE TABLE
SET VAL = (@n := COALESCE(VAL, @n))
ORDER BY ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.