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?