Есть таблица
CREATE TABLE `client_balance` (
`client_id` int(11) NOT NULL,
`period` date NOT NULL DEFAULT (curdate()),
`base_balance` decimal(20,2) NOT NULL DEFAULT '0.00',
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Любая попытка изменить любое поле (кроме period) заканчивается ошибкой
ERROR 1067 (42000): Invalid default value for 'period'
Стоит MySQL 8.0.16, поддержка выражений в DEFAULT появилась в версии 8.0.13,
Таких проблем с колонками других типов нет.
Причину нагуглить не получилось, но очень похоже на баг.