MySQL时间戳类型数据插入问题

标签 mysql

使用 DBeaver,我们尝试执行以下查询。

  UPDATE listing SET ScheduledTime='2019-01-09 15:14:51.0', Status='SCHEDULED' where ID=108 

执行成功后,我们可以在DB中看到ScheduledTime列为“2019-01-09 20:44:51”。为什么会出现时间不匹配的情况以及如何解决?非常感谢您在此事上提供的帮助。

最佳答案

您在存储和查看数据时使用不同的时区设置。作为 mysql 文档 timestamp说:

MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.) By default, the current time zone for each connection is the server's time. The time zone can be set on a per-connection basis.

Mysql文档介绍了如何查看和设置时区here

关于MySQL时间戳类型数据插入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086358/

相关文章:

java - MySQL 无法更改正在主动写入的 TABLE

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

mysql - 如何使用减号运算符编写sql查询以返回缺少相应值的行?

mysql - 如何在 LIKE 语句中定义查询

php - 写入文本文件并更新数据库

php - php函数中sql查询中的假值仅在引号中有效

mysql - 删除约束时,会自动创建索引

php - 连接两张表的sql语句

mysql - 如何在避免重复外键的同时更新 MySQL 自然键?

mysql - 两个表的左外连接