Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

MySQL created_at、updated_at 列是用 INT 还是 TIMESTAMP 来存储时间?

$
0
0

MySQL server 的时区不一定和 Nodejs App 一样,不确定用哪种类型存储时间。 StackOverflow 上高票赞同 TIMESTAMP,但如果 App 和 MySQL 时区不一样,手动插入时间时会引起混乱:

// Node App 时区 +0800
// MySQL server 时区 UTC
const mysql = require('mysql');
const connection = mysql.createConnection();
const createdAt = new Date();
connection.query('INSERT INTO user(created_time) VALUES(?)', createdAt); // +0800
// connection.query('INSERT INTO user(created_time) VALUES(now())');     // +0000

如果有人通过 js new Date() 获取本地东8区时间,有人用 SQL函数 now() 获取0时区时间,就会导致混乱。 大家觉得用什么好?


Viewing all articles
Browse latest Browse all 14821

Trending Articles