如何在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;
这样可行,但它不会更新时间戳。
这实际上是如何运作的?
答案 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 + "')";