草庐IT

transaction_utc

全部标签

Mysql:将数据库从本地时间转换为UTC

我需要从本地时间utUTC转换现有的(日期时间字段)数据库。这些值存储在具有CET(+1)时区(夏令时+2)的服务器上的广告日期时间。选择数据时,我使用UNIX_TIMESTAMP(),它神奇地补偿了所有内容,即时区偏移和dst(如果我正确阅读了文档)。我正在将db移动到以UTC作为系统时间的新服务器。简单地减去-1H是行不通的,因为夏令时是+2。有什么聪明的方法可以做到这一点吗?(使用sql或一些脚本语言) 最佳答案 首先,您需要确保填充了mysql.time_zone_name表。如果它是空的,您可以按照此页面上的说明进行填充:

MySql - 选择UTC格式的时间戳列

在我的Mysql5.0数据库中,我有一列来控制LastUpdated信息。Column是一个TimeStamp,MySql自动更新数据。我正在尝试以UTC格式选择此列。问题是服务器设置为美国日期时间。根据MySql文档,数据库以UTC格式存储信息,但当我想显示信息时,它会将其转换为服务器时间。有什么方法可以避免这种转换的SELECT命令? 最佳答案 SELECTCONVERT_TZ(`timestamp_field`,@@session.time_zone,'+00:00')AS`utc_datetime`FROM`table_na

MySql - 选择UTC格式的时间戳列

在我的Mysql5.0数据库中,我有一列来控制LastUpdated信息。Column是一个TimeStamp,MySql自动更新数据。我正在尝试以UTC格式选择此列。问题是服务器设置为美国日期时间。根据MySql文档,数据库以UTC格式存储信息,但当我想显示信息时,它会将其转换为服务器时间。有什么方法可以避免这种转换的SELECT命令? 最佳答案 SELECTCONVERT_TZ(`timestamp_field`,@@session.time_zone,'+00:00')AS`utc_datetime`FROM`table_na

MySQL 在 TRANSACTION、COMMIT 和 ROLLBACK 上自动递增列

当使用MySQLSTARTTRANSACTION并且MySQL决定回滚时-如果一个表有一个AUTO_INCREMENT列-在回滚期间该列是否会...递减?还是应该?我遇到了一些事务数据被正确回滚的问题——但看起来表在回滚过程中自动递增而不是递减。#BOTHTABLESSTARTOUTEMPTY//TABLE1IDis**auto_increment**STARTTRANSACTION;INSERTINTO`TABLE1`(`ID`,`NAME`)VALUES(NULL,'Ted');#MySQLTABLE1**ID**isAutoincrementedto1INSERTINTO`TAB

MySQL 在 TRANSACTION、COMMIT 和 ROLLBACK 上自动递增列

当使用MySQLSTARTTRANSACTION并且MySQL决定回滚时-如果一个表有一个AUTO_INCREMENT列-在回滚期间该列是否会...递减?还是应该?我遇到了一些事务数据被正确回滚的问题——但看起来表在回滚过程中自动递增而不是递减。#BOTHTABLESSTARTOUTEMPTY//TABLE1IDis**auto_increment**STARTTRANSACTION;INSERTINTO`TABLE1`(`ID`,`NAME`)VALUES(NULL,'Ted');#MySQLTABLE1**ID**isAutoincrementedto1INSERTINTO`TAB

mysql - 如果未达到 COMMIT TRANSACTION 则自动回滚

考虑以下几点:STARTTRANSACTION;BEGIN;INSERTINTOprp_property1(module_name,environment_name,NAME,VALUE)VALUES('','production','','300000');/**AssumethereissyntaxerrorSQLhere...**/BlahblahblahDELETEFROMprp_property1WHEREenvironment_name='production';COMMITTRANSACTION;问题:我注意到事务自动回滚,记录插入尝试失败。如果我不提供错误处理程序或错误

mysql - 如果未达到 COMMIT TRANSACTION 则自动回滚

考虑以下几点:STARTTRANSACTION;BEGIN;INSERTINTOprp_property1(module_name,environment_name,NAME,VALUE)VALUES('','production','','300000');/**AssumethereissyntaxerrorSQLhere...**/BlahblahblahDELETEFROMprp_property1WHEREenvironment_name='production';COMMITTRANSACTION;问题:我注意到事务自动回滚,记录插入尝试失败。如果我不提供错误处理程序或错误

php - 如何在 MySQL 数据库中存储 UTC ISO8601 日期?

我有数千个日期,格式如下:2011-10-02T23:25:42Z(在UTC中也称为ISO8601)我应该使用哪种MySQL数据类型在MySQL数据库中存储这样的ISO8601日期?例如。Datetime、timestamp还是别的什么?哪个最适合比较(例如,获取两个日期/时间之间的记录)并对查询结果进行排序?如果数据库很大怎么办?将上述PHP字符串转换为MySQL存储的最佳方法是什么?(我猜date_default_timezone_set('UTC');会被使用?) 最佳答案 我认为将日期时间值保存在DATETIME类型的字段中

php - 如何在 MySQL 数据库中存储 UTC ISO8601 日期?

我有数千个日期,格式如下:2011-10-02T23:25:42Z(在UTC中也称为ISO8601)我应该使用哪种MySQL数据类型在MySQL数据库中存储这样的ISO8601日期?例如。Datetime、timestamp还是别的什么?哪个最适合比较(例如,获取两个日期/时间之间的记录)并对查询结果进行排序?如果数据库很大怎么办?将上述PHP字符串转换为MySQL存储的最佳方法是什么?(我猜date_default_timezone_set('UTC');会被使用?) 最佳答案 我认为将日期时间值保存在DATETIME类型的字段中

Mysql FROM_UNIXTIME 为 UTC

如何获得FROM_UNIXTIME在mysql中作为UTC/GMT?日期以连接的时区返回。我不想更改连接的时区。 最佳答案 你最好提前设置时区:SETtime_zone='UTC';selectFROM_UNIXTIME(1277942400);原因是涉及本地时区的转换可能是有损的。docshere中有一个例子。(参见UNIX_TIMESTAMP()部分下的第4段,以“Note:”开头) 关于MysqlFROM_UNIXTIME为UTC,我们在StackOverflow上找到一个类似的问