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