Как добавить пользовательские часовые пояса в MySQL

Я новичок в SQL, и поэтому у меня есть несколько вопросов.
В настоящее время я загрузил часовой пояс в MySQL и использовал следующую команду для отображения имен TZ.

SELECT * FROM mysql.time_zone_name;

Я хотел бы добавить пользовательский часовой пояс без перезагрузка всей таблицы. Например, US/Hawaii это TZ Мне нужно, но я хочу добавить TZ лайк US/Hawaii-Aleutian но указать на то же самое TZ как US/HAwaii или любой другой часовой пояс, который я хочу. Это возможно?

Я хочу сделать это, потому что я хотел бы использовать этот новый TZ со следующим:

SELECT convert_tz(now(), "Canada/Mountain", "US/Hawaii-Aleutian")

1

Решение

Вы можете добавить псевдоним имени часового пояса, вставив строку в mysql.time_zone_name Таблица.

Например,

 INSERT INTO mysql.time_zone_name
(Name, Time_zone_id)
SELECT 'US/Whatever' Name, Time_zone_id
FROM  mysql.time_zone_name
WHERE  Name = 'US/Hawaii'

Но: Это шутки в сторону плохая идея. таблицы zoneinfo обновляются регулярно через дистрибутивы Linux, так как различные юрисдикции меняют свои часовые пояса и политики перехода на летнее время. Ваши изменения в таблицах часовых поясов MySQL будут стираться всякий раз, когда эти обновления применяются к вашему серверу. Просто попросите своих пользователей использовать либо US/Hawaii, US/Aleutian, или, может быть Pacific/Honolulu,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]