Я хочу добавить в строчку "jailtime" timestamp. Эта метка времени была бы меткой времени, когда была обновлена строка "pjailed".
Я попытался сделать следующее:
https://dba.stackexchange.com/questions/45470/get-the-time-of-last-update-of-a-column
Но вместо создания таблицы я хотел изменить существующую таблицу, поэтому я пошел
ALTER TABLE 'users'
CHANGE 'jailtime' 'jailtime' TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP NULL
DEFAULT 'updated_at pJailed';
Но это дает мне ошибку "Недопустимое значение для pJailed"
Если значение для pJailed
для строки обновляется, вся целая строка получает обновление. Таким образом, было бы достаточно использовать ON UPDATE CURRENT_TIMESTAMP
(и DEFAULT CURRENT_TIMESTAMP
) в jailtime
.
Вы можете изменить время jailtime
столбца, чтобы отразить это, используя:
ALTER TABLE your_table
MODIFY COLUMN jailtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Edit: OP упоминает в своем комментарии, что время jailtime
атрибута должно обновляться только тогда, когда обновляется атрибут pJailed
. Для этого нужно использовать триггер, как описано здесь.