Я хочу иметь одну таблицу с двумя столбцами TIMESTAMP
. Один столбец, чтобы отслеживать, когда была создана запись, а другой, чтобы отслеживать, когда она была изменена. Я хочу, чтобы эти значения обрабатывались базой данных. Я не хочу, чтобы мой уровень приложения думал об этом.
Я знаю, что если у вас есть столбец TIMESTAMP
с DEFAULT CURRENT_TIMESTAMP
или ON UPDATE CURRENT_TIMESTAMP
, у вас не может быть другого столбца TIMESTAMP
. Вы можете использовать DATETIME
, но я не знаю способа его использования по умолчанию вне триггера.
Я обнаружил, что у вас может быть несколько столбцов TIMESTAMP
, оставив каждый без DEFAULT
или ON UPDATE
и вставив NULL
при создании записи, в результате чего у каждого будет текущая метка времени. С этого момента первый столбец будет автоматически обновляться.
Это работает фантастически, но вызывает у меня странное чувство. Как это может быть ошибка, и это может быть исправлено в любое время. Если это так, как это должно работать, пусть будет так. Я весело продолжу свой путь. Может кто-нибудь сказать мне, если это лучший способ сделать это или я должен использовать триггеры?