her*_*h42 2 mysql doctrine-orm
教义2是否支持某种"选择进入"-syntax?
在纯MySQL中,它将是这样的:
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
Run Code Online (Sandbox Code Playgroud)
我检查了手册,但没有成功.
我在版本2.3.1中引用Doctrine:在此版本中,您可以从ORM/EntityManager获取当前与数据库的连接.只有一个连接(这在Doctrine 1中是不同的).以下是insert-select-task对我有用的内容:
$db = $this->_em->getConnection();
$query = "INSERT INTO table2 (myfield) SELECT table1.myfield FROM table1 WHERE table1.id < 1000";
$stmt = $db->prepare($query);
$params = array();
$stmt->execute($params);
Run Code Online (Sandbox Code Playgroud)
这里还有一个有趣的答案:使用带有Doctrine的Raw SQL和一个代码示例,如何检查PDO兼容性的"原始sql".