【发布时间】:2013-07-29 18:28:59
【问题描述】:
我使用 Doctrine/DBAL 很长时间了,但是我在使用 executeUpdate 和获取最后一个插入 ID 时遇到了一点问题。 它总是返回 0 ,但设置了 DB 条目。列 ID 已设置,它在我的数据库中是 AutoIncrement 和 PRIMARY。
这是将我的条目复制到另一个表的函数。
$copy = $app['db']->executeUpdate('INSERT INTO `pd_user_model` (
`campaign_id`,
...
`created`)
SELECT `campaign_id`,
...
NOW()
FROM `pd_pass_model` WHERE `campaign_id` = ?', array($campaignID));
echo "INSERT<br>";
echo "LAST INSERT:" . $app['db']->lastInsertId();
//RETURN VALUE
INSERT
LAST INSERT:0
任何人都可以给我任何提示。 到目前为止谢谢!
【问题讨论】:
-
这是因为您在 INSERT 语句之后执行 SELECT。尝试插入查询然后检查 lastInsertId() 的值