gpt4 book ai didi

mysql - 更新数据库中的所有 DATETIME 字段

转载 作者:行者123 更新时间:2023-11-29 00:09:51 25 4
gpt4 key购买 nike

我目前正在我的数据库中存储美国东部时间的所有 DATETIME 字段,并希望将它们全部UPDATE 为 UTC。我在很多不同的表中有很多 DATETIME 字段。有没有办法一次性识别并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 客户端并执行它们。当然,可以为结果创建准备好的语句并执行它们。

关于mysql - 更新数据库中的所有 DATETIME 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com