如何使用我的查询将UNIX时间戳插入到列中?

时间:2017-07-16 12:33:05

标签: javascript mysql sql node.js

如何在MySQL查询中显示UNIX时间戳?它需要采用如下格式:1419245107(所以没有点等)我找到了一个函数,它是:UNIX_TIMESTAMP()但是我无法让它工作。我希望UNIX时间戳进入我的列:registrationdate。

我的查询:

var insertQuery = "INSERT INTO penguins (igloos, igloo, moderator, registrationdate, inventory, email, password, username, nickname ) VALUES ('" + "1" + "','" + "1" + "','" + moderator + "','" + registrationdate + "','" + inventory + "','" + email +  "', + UPPER(MD5('" + password + "')), '" + username + "', '"+username+"')";                console.log(insertQuery);

现在,我使用以下方法:

const dateTime = new Date().getTime();
const timestamp = Math.floor(dateTime / 1000);
const registrationdate = timestamp
newUserMysql.registrationdate = registrationdate;

这样可行,但它不会更新时间戳。

这实际上是如何运作的?

1 个答案:

答案 0 :(得分:0)

将列更改为包括DEFAULT CURRENT_TIMESTAMP这会在TIMESTAMP或DATETIME列中自动插入当前时间戳。如果您实际上正在为此列使用INT,请将其更改为使用DATETIME - 它将使检索,搜索等更容易。 MySQL内置了很多用于处理日期和设备的工具。倍。更改字段将使用如下命令:

ALTER TABLE `penguins` MODIFY `registrationdate` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;

更改列后,将其从INSERT语句中删除,否则您将覆盖DEFAULT行为:

var insertQuery = "INSERT INTO penguins (igloos, igloo, moderator, inventory, email, password, username, nickname ) VALUES ('1','1','" + moderator + "','" + inventory + "','" + email +  "', + UPPER(MD5('" + password + "')), '" + username + "', '" + username + "')";