繁体   English   中英

MYSQL,PHP更新表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM