Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5376464
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2007-03-14 17:11:30

一数据库表,其中有两个字段分别为keyword, weight.keyword中部分数据是形如abc-123这样的形式,现在要求将这样的keyword分成abc和123,分别作为数据库表keyword和weight。这个问题可以将数据导出,然后用某种工具处理所得的SQL文件,然后将数据导入。一种简单易行的方法是利用PHP操作数据库
 

 

<?php
    $link=mysql_connect("localhost","username","password") or die ("can not connect ".mysql_error());
    mysql_select_db("database") or die ("Could not select database");
    $query="SELECT * FROM datatable";
    $result=mysql_query($query) or die("Query failed".mysql_error());
    $rows=array();
    while($row=mysql_fetch_array($result,MYSQL_ASSOC))
    {
        $key=$row['keyword'];
        if($key!="" && preg_match("/([a-zA-Z]*)-([0-9]+)/",$key,$matches))
        {
            $row['keyword']=$matches[1];
            $row['weight']=$matches[2];
            $qry="UPDATE datatable SET keyword=\"".$row['keyword']."\",weight=".$row['weight']." where id=".$row['id'];
            echo $qry;
            echo "
"
;
            $rslt=mysql_query($qry) or die("Query failed".mysql_error());
        }
    }
    mysql_free_result($result);
    mysql_close($link);
    echo "
Update OK
"
;
 ?>

干嘛不用shell来完成这个任务呢.................

 

 

阅读(2470) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~