2015-01-01 100 views
3

mysql node docs给出了一个如何逃避和做整洁的事情的例子。我无法弄清楚如何使用这种方法插入当前时间。节点mysql插入当前日期

var post = {id: 1, createdDate: 'NOW()'}; 
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) { 
}); 
// Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: 'NOW()' for column 'createdDate' at row 1 
+1

有问题https://github.com/felixge/node-mysql/issues/701 ... –

+0

@亚历山大谢谢。使用自定义格式似乎很复杂,我希望有一个更简单的解决方案:-)我想,我必须避免在'connection.query'中使用对象/数组作为数据,并将它们作为单个变量直接转义。 –

回答

1

一个简单的解决办法,如果你不希望使用自定义格式将使用new Date()生成服务器端日期:

var post = { 
    id: 1, 
    createdDate: new Date() 
}; 
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {}); 

但是要记住,你可以有,因为服务器的小延迟/网络滞后。