1

$db->update() 返回受影响的行数。

没有 Zend_DB 方法用于 insert ... on duplicate key update ...,所以应该使用 query() 方法:

$result = $db->query('INSERT INTO table(key, field) SELECT val1, val2 FROM table as t2 ON DUPLICATE KEY UPDATE field = VALUES(field)');

找出受影响或插入记录的数量:$result->rowCount()

但是这个方法也会计算所有使用相同值更新的记录。

我需要知道所有实际受影响(更改)的记录。

谢谢!

4

1 回答 1

0

不幸的是,“On Duplicate Key Update”会导致 ROW_COUNT() 或 mysql_rows_affected() 报告具有多个更新的行,它不是更新的 UNIQUE 行的计数。

于 2010-04-06T20:09:52.273 回答