Как изменить часовой пояс моего mysql TIMESTAMP - PullRequest
0 голосов
/ 16 июня 2019

Привет, я действительно новичок в MySQL и пытаюсь сделать автоматическую отметку времени.Однако я обнаружил, что CURRENT_TIMESTAMP дал мне неправильный часовой пояс (разница в 8 часов).Я не хочу менять часовой пояс моей машины, поэтому я поднял глаза и нашел метод DATE_ADD().

Я пытался использовать DATE_ADD(CURRENT_TIMESTAMP, INVTERVAL +8 HOUR) в своем скрипте sql, но при выполнении он возвращает синтаксическую ошибку.

Это мой скрипт sql.

DROP DATABASE IF EXISTS testWeatherDB;

CREATE DATABASE testWeatherDB;

use testWeatherDB;

DROP TABLE IF EXISTS data;

CREATE TABLE IF NOT EXISTS data (
        id INT NOT NULL AUTO_INCREMENT,
        timestamp TIMESTAMP DEFAULT DATE_ADD(CURRENT_TIMESTAMP, INTERVAL +8 HOUR) ON UPDATE DATE_ADD(CURRENT_TIMESTAMP, INTERVAL +8 HOUR),
        humidity DECIMAL(6,3) NOT NULL DEFAULT 0.00,
        temperature DECIMAL(6,3) NOT NULL DEFAULT 0.00,
        pressure DECIMAL(7,3) NOT NULL DEFAULT 0.00,
        airqualityindex DECIMAL(6,3) NOT NULL DEFAULT 0.00,
        uvindex DECIMAL(6,3) NOT NULL DEFAULT 0.00,
        particledensity DECIMAL(6,3) NOT NULL DEFAULT 0.00,
        image VARCHAR(20) NOT NULL DEFAULT 'IMG NOT FOUND',
        PRIMARY KEY (id)
);

Есть ликакая-нибудь синтаксическая ошибка в моем скрипте или, может быть, я неправильно использовал DATE_ADD()?

1 Ответ

0 голосов
/ 16 июня 2019

MySQL всегда хранит дату и время в формате UTC, чтобы их можно было легко преобразовать в другой часовой пояс. NOW () или CURRENT_TIMESTAMP () возвращают дату / время плюс ваш текущий настроенный часовой пояс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...