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 ().

Я что-то не так понял?Является ли перезапись кодаДжон«? или нет?

Ответы на вопрос(1)

Ваш ответ на вопрос