我想在datetime类型的列中存储“2010-03-26 10:13:04 Etc / GMT”值。
当我尝试插入它时,我得到了例外:
SQLException:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'10:13:04 Etc / GMT'附近的第1行使用正确的语法
如何使用时区插入数据时间。
答案 0 :(得分:0)
MySQL的日期/时间格式不支持时区。您必须将时间“标准化”到一个特定时区(通常是UTC或服务器所在的时区),或将时区存储在不同的字段中并自行计算偏移量。
查看此博客文章中提供的替代方案:Storing Times in mySQL它有点过时但我认为它仍然适用。显然,Wordpress将本地和GMT时间存储在两个不同的DATETIME字段中。
相关:
答案 1 :(得分:0)
您可以在char
字段中执行此操作...但不能在datetime
字段中执行此操作。在这里查看有关mysql中时区的更多信息:
http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html
以及更改数据库中的时区:
http://dev.mysql.com/doc/refman/5.1/en/time-zone-upgrades.html
答案 2 :(得分:0)
2010-03-26 10:13:04
,且不需要任何时区修改所以,查询必须看起来像
INSERT INTO table set dtime='2010-03-26 10:13:04';