Согласно определению, данному здесь: https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html
Функция является детерминированной, если при одинаковых данных в таблицах несколько вызовов выдают один и тот же результат независимо от подключенного пользователя.
Насколько я понимаю, unix_timestamp () всегда будет давать один и тот же результат для одного и того же ввода.
Однако, когда я пытаюсь создать сгенерированный столбец, используя UNIX_TIMESTAMP (эпохальное время), он выдает ошибку как запрещенную функцию.
ALTER TABLE `test_table` ADD COLUMN epoch_updated_at BIGINT(15) AS (UNIX_TIMESTAMP(updated_at)) STORED
Обновление: я обнаружил, что MYSQL считает unix_timestamp недетерминированным в https://dev.mysql.com/doc/refman/8.0/en/replication-rbr-safe-unsafe.html#replication-rbr-safe-unsafe-not. Я не уверен, почему, хотя?