开发者社区> 航空母舰> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

项目数据批量维护

简介:
+关注继续查看

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

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

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. }  
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP QM QA08批量维护QMAT数据
SAP QM QA08批量维护QMAT数据
124 0
推荐物联网项目中采用时序数据库
时间数据库的产品已经比较成熟。在物联网项目、制造业信息化项目中,使用时序数据库有很大益处。 于是简要编写一篇文章,供大家参考🤝
145 0
数据库批量删除
案例 same.png 语句 查找相同的数据 SELECT * FROM Test.dbo.test a WHERE EXISTS ( SELECT * FROM Test.
992 0
【数据库】修改表结构
一、修改字段默认值 alter table 表名 drop constraint 约束名字   ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定...
1408 0
C# 几种数据库的大数据批量插入
转载:http://www.cnblogs.com/luluping/archive/2012/08/09/2629515.html 在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。
1110 0
C#:几种数据库的大数据批量插入
在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。
983 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
数据进入MaxCompute的N种方式
立即下载
HareQL:快速HBase查询工具的发展过程
立即下载
实战-如何基于HBase构建图片视频数据的统一存储检索方案
立即下载