Codeigniter db-> update () VS собственное ОБНОВЛЕНИЕ MySQL затронутых строк: 0
Используя только MySQL - если я сделаю базовое обновление таблицы, как это:
UPDATE `SOMETABLE` SET `NAME` = 'John' WHERE `ID` = 1;
И значениеNAME
знак равноДжон' уже 'ДжонДругими словами, ничего нового, ничего не обновлять. MySQL возвращаетсяЗатронутые строки: 0 (запрос занял 0,0007 сек)"
Если я сделаю тот же вызов - теперь использую CodeIgniter - и затем получу затронутые строки следующим образом:
$data = array(
'NAME' => 'John'
);
$this->db->where('ID', 1);
$this->db->update('SOMETABLE', $data);
$affect = $this->db->affected_rows();
echo $affect; // $affect echos 1
$ влияют в итоге получается равным 1. У меня нет проблем с этим - я просто ожидал, что если не будет ничего для обновления - этот кодировщик будет вести себя так же, как MySQL, и не будет редактировать то, что не нужно обновлять, и возвращает 0 для lost_rows ().
Я что-то не так понял?Является ли перезапись кодаДжон«? или нет?