Привет,
столкнулся с загадочным поведением mysql 5.7.33 на Windows 10 x64.
При создании таблицы
CREATE TABLE `report_rules` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`service_id` INT(10) UNSIGNED NOT NULL,
`from` TIMESTAMP(3) NOT NULL,
`to` TIMESTAMP(3) NOT NULL,
`state` ENUM ('new','progress','done') NOT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `report_rules_service_id_foreign` (`service_id`) USING BTREE,
CONSTRAINT `report_rules_service_id_foreign` FOREIGN KEY (`service_id`) REFERENCES `cv`.`services` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
)
Поле from создается с DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)
и никакие попытки изменить это не проходят.
Я уже и пересоздавал БД и пытался через SQL поменять. И пошагово избавиться от этой дряни, но оно все равно стабильно создает эту таблицу с таким вот эффектом.
Причем на AWS все создается нормально, без побочных эффектов.
Здравствуйте, pva, Вы писали:
pva>Поле from создается с DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)
pva>и никакие попытки изменить это не проходят.
Фича:
https://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html
TIMESTAMP and DATETIME columns have no automatic properties unless they are specified explicitly, with this exception: If the explicit_defaults_for_timestamp system variable is disabled, the first TIMESTAMP column has both DEFAULT CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP if neither is specified explicitly. To suppress automatic properties for the first TIMESTAMP column, use one of these strategies...
Здравствуйте, rosencrantz, Вы писали:
R>Фича: https://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html
Хочется передать разработчикам этой "фичи" привет от Лаврова.