Привет, я действительно новичок в 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()
?