使用SET和NOW()将node.js插入到mySQL Db

目前这是我的代码,它正确插入new_item

var new_item = {id_user: id, id_restaurant: id_rest, type: 3, date: date}; connection.query("INSERT INTO table SET ?", [new_item], function(err, results) { if(err){ ... } ... } 

但是现在我不想用它发送date,我想用SET ? 并做一些像date = NOW()基本上我想插入这个:

  var new_item = {id_user: id, id_restaurant: id_rest, type: 3}; 

并使用date = NOW()-INTERVAL 6 hour来分配date。

编辑:我贴我只想要Now()但实际上我想设置插入之前的间隔。

我认为使用moment.js更好。

您可以使用返回当前时间戳(毫秒)的Date.now,因此请确保格式化它。 代码如下:

 var a = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss'); 

请让我知道如果这个工作

使用NOW()由数据库解释器执行并设置数据库时间。

你可以创build一个新的variables在你的SQL语句中使用,并将需要的内容设置为那个。

 var new_item1 = {id_user: id, id_restaurant: id_rest, type: 3, date: date}; var new_item2 = {id_user: new_item1.id_user, ...}; connection.query("INSERT INTO table SET ?", [new_item2], function(err, results) { if(err){ ... } ... } 

然后,您可以configuration您的列以将NOW()时间戳设置为默认值。