项目数据批量维护

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

推荐用存储过程更新数据,不会的话可以用以下方法。

项目中某个表中的数据需要维护,数据量巨大。

1.首先将要维护的数据筛选出来,编写脚本执行变量的sql更新操作。

2.csv文件中去批量更新数据,保存文件。

Java代码   收藏代码
  1. <?php  
  2. //ImportCsv.php  
  3. set_time_limit(60);  
  4.   
  5. $link = mysql_connect("localhost","root","orbit");  
  6. mysql_select_db("wms_site_ks01");  
  7. $filePath_unite = "./job_item_id.csv";  
  8.   
  9. if (is_file($filePath_unite)) {  
  10.     $handle_unite = @fopen($filePath_unite,"r");  
  11.     $key=0;  
  12.     while ($data_unite = fgetcsv($handle_unite, 1000",")) {  
  13.         if($key>0){  
  14.             echo "update stock_moves set job_item_id='".$data_unite['9']."' where stock_mv_id=".$data_unite['0'].";"."<br/>";  
  15.             //mysql_query("update stock_moves set job_item_id='".$data_unite['9']."' where stock_mv_id=".$data_unite['0']) or die("Invalid query: " . mysql_error());  
  16.         }  
  17.         $key++;  
  18.         //print "<pre>";print_r($data_unite);die;  
  19.     }  
  20.   
  21.     fclose($handle_unite);  
  22. }else {  
  23.     die("File does not exist");  
  24. }  
  25. ?>  

 例子二 加处理条数限制防止程序内存溢出或处理超时,再加页面自己刷新即可解决,新建导入字段,导入后更新,导完后删除字段import即可

Java代码   收藏代码
  1. <?php  
  2. set_time_limit(0);  
  3. $sql = "select * from core_catalog where level=3 and import=0 limit 30";  
  4. $result = Yii::app()->db->createCommand($sql)->queryAll();  
  5. foreach ($result as $var3 => $key3) {  
  6.     $url = "http://wbmall.bama555.com/api//props?cid=" . $key3['id'] . "&app_key=5318260b3d8f0036";  
  7.     $ch = curl_init($url);  
  8.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取数据返回  
  9.     curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); // 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回  
  10.     $output = curl_exec($ch);  
  11.     $data = json_decode($output, true);  
  12.     foreach ($data as $info) {  
  13.         $sql = "insert into core_catalog_standard(id, catalog_id, pid, level, name,title,sort)  
  14.                     values({$info['id']}, {$info['gcat_id']}, 01'stand_{$info['id']}''{$info['name']}', {$info['listorder']});";  
  15.         Yii::app()->db->createCommand($sql)->execute();  
  16.     }  
  17.     $sql = 'update core_catalog set import=1 where id=' . $key3['id'];  
  18.     Yii::app()->db->createCommand($sql)->execute();  
  19.     echo 'complate' . $level . "共:" . count($data);  
  20.     echo "<script>setTimeout(window.location.href=window.location.href, 3000);</script>";  
  21.     exit;  
  22. }  
 
相关文章
|
8月前
|
存储 运维 安全
简化管理与提高效率:深入了解配置中心
在现代软件开发中,配置管理是至关重要的一环。随着应用程序规模的增长和多环境部署的需求,有效地管理配置变得越来越复杂。这时,配置中心成为了一个不可或缺的工具。在本文中,我们将深入探讨配置中心的概念、优势以及如何使用它来简化配置管理,提高开发和运维效率。
|
2月前
Dataphin功能Tips系列(5)-手工表上传及长期维护
有些业务数据是手工excel维护的,这时我们要如何将数据上传至dataphin并进行维护?
|
3月前
|
测试技术
使用Lim测试平台快速完成批量造数
使用Lim测试平台快速完成批量造数
33 1
|
5月前
|
Cloud Native 前端开发
【性能优化上】第三方组织结构同步优化一,分状态,分步骤的设计,你 get 到了吗?
【性能优化上】第三方组织结构同步优化一,分状态,分步骤的设计,你 get 到了吗?
|
9月前
|
数据建模 BI OLAP
哪些报表该放入报表系统,哪些又该放到业务系统里?
哪些报表该放入报表系统,哪些又该放到业务系统里?
|
9月前
|
SQL Java 关系型数据库
从系统报表页面导出20w条数据到本地只用了4秒,我是如何做到的
最近有个学弟找到我,跟我描述了以下场景: 他们公司内部管理系统上有很多报表,报表数据都有分页显示,浏览的时候速度还可以。但是每个报表在导出时间窗口稍微大一点的数据时,就异常缓慢,有时候多人一起导出时还会出现堆溢出。 他知道是因为数据全部加载到jvm内存导致的堆溢出。所以只能对时间窗口做了限制。以避免因导出过数据过大而引起的堆溢出。最终拍脑袋定下个限制为:导出的数据时间窗口不能超过1个月。
|
10月前
|
SQL 安全 关系型数据库
案例07-在线人员列表逻辑混乱
在线人员列表逻辑混乱
|
11月前
|
前端开发 JavaScript 数据管理
|
BI 数据处理 Scala
报表统计_执行框架_旧模块改造 | 学习笔记
快速学习报表统计_执行框架_旧模块改造
80 0
报表统计_执行框架_旧模块改造 | 学习笔记
|
BI 数据库 数据处理
数据填报修改时如何增加操作人员信息
填报 修改人信息 数据填报修改时如何增加操作人员信息
1274 0