Zend DB: Как найти фактическое количество затронутых строк с помощью INSERT ON DUPLICATE KEY? - PullRequest
1 голос
/ 10 марта 2010

$ db-> update () возвращает поврежденное количество строк.

Нет метода Zend_DB для вставки ... при обновлении дублированного ключа ..., поэтому следует использовать метод query ():

$ result = $ db-> query ('INSERT INTO table (key, field) ВЫБРАТЬ val1, val2 ИЗ таблицы как t2 ON DUPLICATE KEY UPDATE field = VALUES (field)');

Чтобы узнать количество затронутых или вставленных записей: $ Result-> сверка ()

Но этот метод также подсчитывает все записи, которые были обновлены с тем же значением.

Мне нужно знать все действительные затронутые (измененные) записи.

Спасибо!

1 Ответ

0 голосов
/ 07 апреля 2010

К сожалению, «При обновлении дублированного ключа» ROW_COUNT () или mysql_rows_affered () сообщают о строках с несколькими обновлениями, это не количество уникальных обновленных строк.

...