Запись метки времени MySQL обновляется, но затронутые строки остаются 0 - PullRequest
6 голосов
/ 21 сентября 2011

Есть несколько похожих вопросов, но я добавлю их в микс.

По сути, у меня есть столбец отметки времени (который является int ), и одно из моих обновлений:ТОЛЬКО обновление этого столбца отметок времени, а иногда это едва заметное расстояние.Например, он может измениться с 1316631442 до 1316631877. Разница между этими двумя значениями невелика.

Так что запись обновляется, я могу проверить в phpMyAdmin до запуска запроса, а затем посмотретьразница.Тем не менее, я делаю var_dump () для числа затронутых строк, и оно остается равным 0.

Если я обновляю другой столбец одновременно с другим значением, тогда затронутые строки равны 1.

Итак, что нужно для запуска строки как подверженной влиянию?Несмотря на то, что на него влияют, поскольку обновление прошло успешно.

Кроме того, я использую фреймворк Laravel PHP и его конструктор запросов.В настоящее время выполняю небольшую отладку, чтобы выяснить, может ли что-то быть не так, но пока все выглядит хорошо.

РЕДАКТИРОВАТЬ: Извините, я что-то опечатал выше.Когда я полностью изменяю значение другого столбца, затрагиваемые строки равны 1, а не 0.

Ответы [ 2 ]

3 голосов
/ 22 сентября 2011

Для любопытных я прибегнул к использованию INSERT INTO ... ON DUPLICATE KEY UPDATE для достижения желаемого результата.Я все еще не мог понять, почему MySQL не сообщал о записи как о затронутой.

Я также попытался использовать PHP mysql_query () и связанные функции, чтобы проверить затронутую строку, но это также не работало,Возможно, MySQL не считает, что изменение стоит того, чтобы пометить запись как затронутую.

0 голосов
/ 16 февраля 2017

Я могу повторить проблему с MySql 5.1, но не с Mysql 5.7.

В более ранней версии

UPDATE `test`
SET
    `time` = TIMESTAMPADD(MINUTE, 10, NOW())
WHERE
    `id = 1

обновляет временную метку, но сообщается, что затронуты нулевые строки.

В более поздней версии MySql тот же запрос дает мне одну затронутую строку.

Кажется, это ошибка MySql, которая была исправлена.

Время получитьАдминистратор сервера, чтобы обновить некоторые вещи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...