Дата не сохранена правильно в MySQL - PullRequest
0 голосов
/ 24 апреля 2019

MySQL не сохраняет дату должным образом. Я пытаюсь добавить столбец созданного в базе данных.

Я уже пытался использовать функцию MySQL NOW (), но, похоже, она не работает.

// Перейти псевдокод с SQL-запросом

stmt, _:= d.db.Prepare("INSERT INTO posts(title, body, EmailHref, SlackHref, DiscordHref, InstHref, Time) VALUES(?, ?, ?, ?, ?, ?, NOW());")
res, err := stmt.Exec(newPost.Title, newPost.Body, newPost.EmailHref, newPost.SlackHref, newPost.DiscordHref, newPost.InstHref)

Тип для столбца созданного в MYSQL - ДАТА.

Вот что я получаю, когда получаю только что созданный пост:

"time": "2019-04-24T00:00:00Z"

Я рассчитываю получить точное время с минутами.

Ответы [ 2 ]

1 голос
/ 24 апреля 2019

Если вы хотите сохранить время, вы должны использовать DATETIME вместо DATE.

. Вы можете использовать следующий запрос, чтобы изменить тип столбца изстолбец createdAt:

ALTER TABLE posts MODIFY createdAt DATETIME

Тип данных DATE не может хранить временную часть, поэтому необходимо использовать DATETIME:

SELECT CAST(NOW() AS DATE);     -- 2019-04-24
SELECT CAST(NOW() AS DATETIME); -- 2019-04-24 09:47:57
0 голосов
/ 24 апреля 2019

Я думаю, вам просто нужно изменить тип с DATE на DATETIME в mySQL

alter table <tableName> modify <columnName> DATETIME;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...