答案 0 :(得分:2)
如果数据库位于同一主机上,并且用户可以访问这两个数据库,则可以轻松地交换数据:
INSERT INTO database2.table1 (*fields*)
SELECT *fields* FROM database1.table1
将字段替换为表格中的字段列表。 请注意,此查询将获取整个表格,可能需要一些时间。
如果数据库位于不同的主机上,或者出于任何其他原因,您只能通过一个连接连接到这两个数据库,请执行以下操作:
$dbh1 = mysql_connect($hostname, $username, $password);
$dbh2 = mysql_connect($hostname, $username, $password, true);
//the fourth parameter makes sure that a new link is opened as if the parameters are the same, php will grab the old connection instead of creating one.
mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
然后查询数据库1,执行以下操作:
mysql_query('select * from tablename', $dbh1);
和数据库2:
mysql_query('select * from tablename', $dbh2);
......或者在PDO ......
$database1 = new PDO('mysql:dbname=database1name;host=127.0.0.1', 'username', 'password');
$database2 = new PDO('mysql:dbname=database2name;host=127.0.0.1', 'username', 'password');
$result1 = $database1->query("select * from tablename");
$result2 = $database2->query("select * from tablename");
答案 1 :(得分:0)
可以通过插入选择组合
考虑以下示例。
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;