我想在日期时间类型的列中存储“2010-03-26 10:13:04 Etc/GMT”值。
当我尝试插入它时,我遇到了异常:
SQLException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“10:13:04 Etc/GMT”附近使用正确的语法
如何插入带有时区的数据时间。
我想在日期时间类型的列中存储“2010-03-26 10:13:04 Etc/GMT”值。
当我尝试插入它时,我遇到了异常:
SQLException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“10:13:04 Etc/GMT”附近使用正确的语法
如何插入带有时区的数据时间。
MySQL 的日期/时间格式不支持时区。您必须将时间“标准化”到一个特定的时区(通常是 UTC 或服务器所在的时区),或者将时区存储在不同的字段中并自己计算偏移量。
查看此博客条目中提供的替代方案:在 mySQL 中存储时间有点过时,但我认为它所说的仍然适用。显然,Wordpress 将本地时间和 GMT 时间存储在两个不同的 DATETIME 字段中。
有关的:
你可以在一个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
2010-03-26 10:13:04
没有任何时区指示所以,查询必须看起来像
INSERT INTO table set dtime='2010-03-26 10:13:04';