Я новичок в 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")
Вы можете добавить псевдоним имени часового пояса, вставив строку в 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
,
Других решений пока нет …