Обновление записи, не обновляя метку времени

У меня есть метка времени в mysql таблице с атрибутом "ON UPDATE CURRENT_TIMESTAMP". Существует ли способ вручную отключить обновление метки времени в особом случае? (например: обновление записи, чтобы пересмотреть сообщение в блоге, но не повторно датировать его)

69
задан Dharman 24 September 2019 в 17:23
поделиться

3 ответа

Есть ли способ вручную отключить обновление временной метки в особых случаях? (например: обновление записи для пересмотра записи в блоге, но не для повторного обновления даты)

Похоже, вам нужно настроить ограничение по умолчанию так, чтобы оно заполняло столбец только при вставке:

DEFAULT CURRENT_TIMESTAMP

Изменение этого ограничения означает, что любые изменения не будут вызывать обновление значения временной метки. IE: Если вы создали блогпост вчера, а исправили опечатку сегодня - дата в столбце все равно будет вчерашней.

45
ответ дан 24 November 2019 в 13:38
поделиться

не используйте временные метки, а отслеживайте время вручную.

если вы действительно хотите обновить запись и не обновлять ее временную метку, используйте:

UPDATE `table` SET `timestamp` = `timestamp`, `col` = 'new data' …;
9
ответ дан 24 November 2019 в 13:38
поделиться

Вы можете вручную установить текущее значение столбца в команде update:

UPDATE table SET x=y, timestampColumn=timestampColumn WHERE a=b;

Если вы не установите значение в запросе, оно будет обновлено до текущей временной метки в соответствии с определением таблицы.

131
ответ дан 24 November 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: