YII2如何从select表中插入数据与另一个数据库上的表

时间:2016-08-15 11:38:13

标签: yii2

嗨大家我有两个连接数据库和查询

$connection = \Yii::$app->db;
$connection2 = \Yii::$app->db2;

$insert = $connection->createCommand('INSERT INTO table1 (field1, field2, field3) 
       select field1,field2,field3 from table2');
$insert->execute();
请教,如何将table2连接到$ connection2?..因为table2在另一个数据库上。谢谢

1 个答案:

答案 0 :(得分:0)

在yii中不可能,如果使用2个不同的服务器(例如没有链接),在SQL中甚至是不可能的。 在SQL服务器中,可以链接远程数据库或将其添加到同义词,但我认为您不需要这样复杂的解决方案。

如果数据库位于同一台服务器上,则可以使用以下查询来实现:

INSERT INTO db1.table1 (field1, field2, field3) 
       SELECT field1,field2,field3 from db2.table2

否则从db2获取数据,表单插入并插入db1