Your Question

CREATE TABLE `configs` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `config_key` varchar(255)  NOT NULL DEFAULT '',
  `value` decimal(30,6) NOT NULL DEFAULT '0.000000',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB ;

debug 打印出来的语句是:

INSERT INTO `configs` (`config_key`,`value`,`created_at`,`updated_at`) VALUES ('test',123.000000,'2022-08-31 14:56:03','2022-08-31 14:56:03')

实际写入数据库的时间相差了8小时: 2022-08-31 06:56:03 | 2022-08-31 06:56:03

我的dsn连接带了参数 : parseTime=True&loc=Asia%2FShanghai , 怎么试都不行。求救!!

Comment From: zstone12

相差8小时显然是时区问题。可以再修改dsn连接参数试下。

Comment From: philhuan

发一下model结构体,是否用了自定义time类型

Comment From: philhuan

调用create接口的代码也发一下