Zend DB: Como encontrar a quantidade real de linhas afetadas com inserção na chave duplicada?
Pergunta
$ db-> update () Retorna a quantidade afetada de linhas.
Não existe um método zend_db para inserção ... na atualização de chave duplicada ... então deve -se usar o método consulte ():
$ resultado = $ db-> query ('inserir na tabela (chave, campo) selecione Val1, val2 da tabela como T2 na chave duplicada Field Atualize o campo = valores (campo)');
Para descobrir a quantidade de registros afetados ou inseridos: $ resultado-> RowCount ()
Mas esse método também conta com todos os registros que foram atualizados com o mesmo valor.
Preciso conhecer todos os registros reais afetados (alterados).
Obrigado!
Solução
Infelizmente, a atualização "On Duplicate Key" faz com que Row_Count () ou MySQL_ROWS_AFFECTED () relatem linhas com várias atualizações, não é uma contagem de linhas exclusivas que são atualizadas.