一数据库表,其中有两个字段分别为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) |