$ db-> update() возвращает затронутое количество строк.Zend DB: Как найти фактическое количество затронутых строк с помощью INSERT ON DUPLICATE KEY?
Там нет способа Zend_Db для вставки ... на дубликат ключа обновления ..., поэтому следует использовать метод запроса():
$ Result = $ db-> запрос ("INSERT INTO таблицы (ключ, поле) SELECT val1, val2 FROM table as t2 ON DUPLICATE KEY UPDATE field = VALUES (field) ');
Чтобы узнать количество пострадавших или вставленные записей: $ result-> сверка()
Но этот метод также подсчитывает все записи, которые были обновлены с тем же значением.
Мне нужно знать все фактические затронутые (измененные) записи.
Спасибо!
Две стратегии, которые я использую: A) следуют запросу «on-dup-key» с выбором по таблице с критериями, которые определяют уникальную запись. B) сравнить количество записей до/после запроса «по-дупку». –