ON UPDATE CURRENT_TIMESTAMP не работает при обновлении с идентичной информацией

0

У меня есть столбец в моей таблице:

date_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

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

Например, моя таблица (пользователи) такова:

+----+-------+----------------+-----------+-------------+
| id | name  | food           | confirmed | signup_date |
+----+-------+----------------+-----------+-------------+
|  1 | John  | Casserole      | Y         | 2012-04-11 12:46:55  |
|  2 | Sandy | Key Lime Tarts | N         | 2012-04-14 11:02:02  |
+----+-------+----------------+-----------+-------------+

Когда я запускаю этот запрос, все работает нормально (signup_date обновлений, как ожидалось):

UPDATE users SET name = 'new', food = 'new' where id = 1;

Однако, когда я запускаю это (вставляя точную информацию), signup_date остается таким же, как и предыдущий:

UPDATE users SET name = 'John', food = 'Casserole' where id = 1;

Мне нужна помощь в получении обновления signup_date без учета того, является ли информация одинаковой или нет. Кто может помочь?

Теги:
timestamp
mariadb

2 ответа

1
Лучший ответ
  1. Автоматически обновляемый столбец автоматически обновляется до текущей метки времени, когда значение любого другого столбца в строке изменяется от текущего значения. Колонка с автоматическим обновлением остается неизменной, если все остальные столбцы установлены на их текущие значения.

Прочитать документацию

2
UPDATE users SET name = 'new', food = 'new',signup_date = Now() where id = 1;

Может быть, вы можете попробовать обновить Column с помощью Now()?

  • 0
    Я пытался, и это работает, но я не хочу указывать это. Я ожидаю, что он будет обновлен автоматически, так как я указываю в своем заявлении, что он должен обновляться
  • 0
    Просто хотел добавить, если вы действительно хотите сделать это без добавления обновления в один столбец. посмотрите на triggers .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню