我的头快要爆炸了。
我正在尝试使用准备好的语句(它是 MODx cms)将很多行插入数据库。
查询看起来像:
INSERT INTO {$table} (`fio`, `address`, `code`)
VALUES (?, ?, ?)
ON DUPLICATE KEY UPDATE
fio = VALUES(fio),
address = VALUES(address),
code = VALUES(code),
`eid` = LAST_INSERT_ID(eid);
下一步是
foreach ( $data as $k=>$v){
$q->execute(array($v['fio'], $v['address'], $v['code']));
$eid = $this->modx->lastInsertId('eid');
}
我在表中有一些行,之前已经填好了。当我尝试执行脚本时,只有第一个 $eid 是正确的并指向现有行。$eid 的每个下一个值都大于表的 AUTO_INCREMENT 值。
尝试了不同的变体,但 $eid 仅在我删除准备好的语句并使用通常的查询时才是正确的。
请帮忙...