Codeigniter db-> update () VS MySQL nativo UPDATE Linhas afetadas: 0

Usando o MySQL sozinho - Se eu fizer uma atualização básica em uma tabela como esta:

UPDATE `SOMETABLE` SET `NAME` = 'John' WHERE `ID` = 1;

E o valor deNAME = 'John' já estava 'John'- em outras palavras - nada é novo, nada para atualizar. MySQL retorna "Linhas afetadas: 0 (a consulta demorou 0,0007 seg.)"

Se eu fizer a mesma chamada - agora usando o CodeIgniter - e, em seguida, recuperar as linhas afetadas da seguinte forma:

$data = array(
               'NAME' => 'John'
            );

$this->db->where('ID', 1);
$this->db->update('SOMETABLE', $data); 
$affect = $this->db->affected_rows();

echo $affect; // $affect echos 1

$ afeta acaba igualando 1. Eu não tenho um problema com isso - eu só esperava que se não houvesse nada para atualizar - que codeigniter iria se comportar da mesma maneira que o MySQL e não editar algo que não precisa ser atualizado, e retornar 0 para affected_rows ().

Eu entendi errado de alguma forma?A sobreposição de codeigniter 'John'? ou não?

questionAnswers(1)

yourAnswerToTheQuestion