У меня есть метка времени в mysql таблице с атрибутом "ON UPDATE CURRENT_TIMESTAMP". Существует ли способ вручную отключить обновление метки времени в особом случае? (например: обновление записи, чтобы пересмотреть сообщение в блоге, но не повторно датировать его)
Есть ли способ вручную отключить обновление временной метки в особых случаях? (например: обновление записи для пересмотра записи в блоге, но не для повторного обновления даты)
Похоже, вам нужно настроить ограничение по умолчанию так, чтобы оно заполняло столбец только при вставке:
DEFAULT CURRENT_TIMESTAMP
Изменение этого ограничения означает, что любые изменения не будут вызывать обновление значения временной метки. IE: Если вы создали блогпост вчера, а исправили опечатку сегодня - дата в столбце все равно будет вчерашней.
не используйте временные метки, а отслеживайте время вручную.
если вы действительно хотите обновить запись и не обновлять ее временную метку, используйте:
UPDATE `table` SET `timestamp` = `timestamp`, `col` = 'new data' …;
Вы можете вручную установить текущее значение столбца в команде update:
UPDATE table SET x=y, timestampColumn=timestampColumn WHERE a=b;
Если вы не установите значение в запросе, оно будет обновлено до текущей временной метки в соответствии с определением таблицы.