目前DATETIME
,我正在美国东部时间将所有字段存储在数据库中,并希望将所有字段UPDATE
都保存为UTC。我DATETIME
在很多不同的表中都有很多字段。有没有一种方法可以UPDATE
一次识别所有这些?
您可以使用以下语句生成所需的UPDATE语句:
SET @tzdiff = 5; -- difference between EST and UTC
SET @db = 'test4'; -- your DB name
SELECT
CONCAT(
'UPDATE ',
'`', c.TABLE_NAME, '` ',
'SET ',
'`', COLUMN_NAME, '` = ',
'`', COLUMN_NAME, '` + INTERVAL ', @tzdiff, ' HOUR;'
) as update_statement
FROM
INFORMATION_SCHEMA.COLUMNS c
WHERE
c.TABLE_SCHEMA = @db
AND
c.`DATA_TYPE` LIKE 'datetime';
我的数据库“ test4”的结果:
update_statement
-----------------------------------------------------------------------
UPDATE `example12` SET `column_name` = `column_name` + INTERVAL 5 HOUR;
UPDATE `post` SET `expiration` = `expiration` + INTERVAL 5 HOUR;
对于一次性工作,我只需将结果复制到您选择的MySQL客户端中并执行它们即可。当然,可以为结果创建准备好的语句并执行它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句