A coluna de carimbo de data/hora do MySQL é inexplicavelmente atualizada

       Por que está sendo atualizado inexplicavelmente, porque o valor padrão não está definido para a tabela e o campo de atualização não atualiza a coluna. Descobriu-se que depois de executar a instrução de atualização, o tempo se torna o tempo para executar o update sql.
        Origem: A tabela de design é projetada pelo powerdesiner. Após a conclusão do design, use o sql de visualização para construir diretamente a tabela
 

create table s_config
(
   config_id            int(11) not null auto_increment comment '主键',
   config_type          varchar(30) comment '配置是属于什么业务',
   config_name          varchar(100) comment '配置名称',
   config_key           varchar(200) comment '配置key',
   config_value         varchar(200) comment '配置的值',
   valid_sts            enum('Y','N') comment '有效状态',
   config_desc          varchar(100) comment '配置的详细描述',
   create_datetime      timestamp comment '创建时间',
   create_user          varchar(30) comment '创建人',
   last_chg_datetime    timestamp comment '最后一次修改时间',
   last_chg_user        varchar(30) comment '最后一次修改人',
   primary key (config_id)
);

        A instrução de criação da tabela é executada com sucesso e o desenvolvimento é iniciado. Ao executar o update sql, o last_chg_datetime é atualizado normalmente, mas o create_datetime também é atualizado diretamente, embora não seja definido na atualização.

        Use o MySQL versão 5.7.26, depois de criar a tabela, a estrutura da tabela real é assim

        Descobriu-se que o valor padrão é definido automaticamente, portanto, alguns usam o padrão ao criar uma tabela e algumas configurações de exibição são melhores. As especificações ainda são importantes.

        Após a instrução de criação da tabela ser modificada

CREATE TABLE `s_schedule_log` (
  `log_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'log主健',
  `job_id` int(11) DEFAULT NULL COMMENT '任务id',
  `job_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
  `execute_result` varchar(10) DEFAULT NULL COMMENT '执行结果。字典EXECUTE_RESULT',
  `result_info` varchar(255) DEFAULT NULL COMMENT '执行结果信息',
  `start_time` TIMESTAMP NULL DEFAULT NULL COMMENT '开始时间',
  `end_time` TIMESTAMP NULL DEFAULT NULL COMMENT '结束时间',
  `error_msg` varchar(255) DEFAULT NULL COMMENT '执行失败时的错误信息',
  PRIMARY KEY (`log_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务执行日志'

        Criação de tabela concluída



Referência: A configuração do valor padrão do carimbo de data/hora no blog-CSDN do blog_mysql valor padrão do carimbo de data/hora do MySQL_lxxfirst

 

MySQL :: Manual de referência do MySQL 5.7 :: 11.2.6 Inicialização automática e atualização para TIMESTAMP e DATETIME

Acho que você gosta

Origin blog.csdn.net/u011471105/article/details/124726047
Recomendado
Clasificación