отметка времени mysql обновляется при изменении записи - PullRequest
0 голосов
/ 09 сентября 2010

Я поднял вопрос об этом некоторое время назад, но у меня все еще есть проблема. У меня есть база данных mysql5 с таблицей продаж, которая содержит метку времени для представления продажи. Если поле в таблице продаж изменено или изменено, отметка времени обновляется до текущего времени (время изменения). Чтобы предотвратить это, я отменил выбор параметра on_update_select_current_timestamp, но отметка времени все еще меняется?

Вот как выглядит поле в phpmyadmin

alt text

Кто-нибудь знает, что мне делать, если снять флажок CURRENT_TIMESTAMP, по-видимому, сбросить триггер on_update_select_current_timestamp

Ответы [ 2 ]

0 голосов
/ 09 сентября 2010

Проверьте определения таблиц, если опция CURRENT-TIMESTAMP действительно отключена.

Если он отключен, он должен выглядеть как ...

CREATE TABLE `sometable` (
  ...somefields...
  `Sale_Time` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' INT(11) DEFAULT NULL,
  ...somefields...
) ENGINE=someengine

... в противном случае CURRENT-TIMESTAMP будет видно в этой строке. Когда он отключен, он не обновляется при обновлении, если какая-либо другая функция базы данных (триггер или что-то подобное) не изменяет его при обновлении полей.

0 голосов
/ 09 сентября 2010

, если вы не хотите, чтобы это поле обновлялось автоматически, просто не используйте поле типа отметки времени вообще
Вместо этого используйте datetime.

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