每次只复制一行,就是说你每次只从A取出来一条数据
创新互联是一家专业提供雁山企业网站建设,专注与成都网站建设、成都做网站、H5场景定制、小程序制作等业务。10年已为雁山众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
$info = $this-db-getone("table_A" , "$where"); //搜索到一条数据
根据你需要的条件取出来这么 一行。
再把这一行里面的 a,b字段做成一个array
$data = array (
"e" = $info['a'],
"f" = $info['b']
)
$this-db-insert("tabler_B",$data); //按照你说的规则插入更新
简单示例:
?php
//设置编码格式
header("Content-type:text/html;charset=utf-8");
//链接数据库
$conn = mysql_connect("localhost","root","");
//选择要操作的数据库
mysql_select_db('act1',$conn);
//设置操作数据库编码格式
mysql_query("set names utf8");
//执行查询操作
$re= mysql_query("select user_name,phone from user");
//申明空数组,以便装数据
$records=array();
//循环将数据装入数组中
while($row=@mysql_fetch_row($re)){
$records[]=$row;
}
//选择要导入的数据库
mysql_select_db('act2',$conn);
//设置操作数据库编码格式
mysql_query("set names utf8");
//构造插入sql语句
$sql2="INSERT INTO user(user_name,phone) VALUES";
//循环记录集,插入新数据库的表中
foreach ($records as $ite){
//构造插入值字符串
$valuestr = "'".$ite[0]."',"."'".$ite[1]."'";
//给字符串最外边拼接括号
$sql2 .= "(".$valuestr."),";
}
//去除构造sql语句最后的逗号
$sql2 = substr($sql2,0,-1);
//执行插入操作
mysql_query($sql2);
//关闭mysql链接
mysql_close();
?
数据库act1 user表数据:
插入到数据库act2 user表数据如下:
1。如果A 、B两个表字段都相同时用下面的语句
insert in A (select * from A, B where A.NAME=B.NAME and B.ID NOT IN (select DISTINCT ID FROM A))
2.如果你 A B 两个表字段不同,就 select 出相应的字段 插入A表就可以了。
记得~!插入时对应的字段要一样。而且字段的类型必须相同。祝你好运!
数据取出来:$sql="select * from a where id=XX ";$res=mysql_query($sql);$row=mysql_fetch_array($res);然后再用Insert语言插入b表,你自己尝试一下吧。
一行行的导也太麻烦了
如果表结构完全一样,直接执行一下insert into bb.table select * from aa.table where ..就可以了,如果只想保存某些信息那么insert into bb.table (column1,column2,...) select column1,column2,.. from aa.table where ..
你也可以从通过操作数据库
mysqldump -u xxx -p xxx aa table dir/aatable.sql
然后
mysqluse bb;
mysqlsource dir/aatable.sql
很简单的,你首先安装一个 Navicat for PostgreSQL 一个工具(不安装或其它工具也可以),把A表中的数据导出,可以导出很多种格式,然后再新建一个B表,结构和A一样,可以利用那个工具复制建表语句,然后就可以把数据导入到B表。当然不用工具也可以,直接用SQL语句来操作。但是,用工具更傻瓜式,方便操作,管理