Node MySQL插入当前日期

5

mysql node 的文档提供了一个转义和做好事情的示例。但是我无法找到如何使用这种方法插入当前时间。

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... - Oleksandr T.
@Alexander 谢谢。使用自定义格式似乎很复杂,我希望有更简单的解决方案 :-) 我想我只能避免在 connection.query 中使用对象/数组作为数据,并直接将它们作为单独的变量进行转义。 - Kaya Toast
1个回答

6

如果您不想使用自定义格式,一个简单的解决方法是在服务器端使用 new Date() 生成日期:

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

但请记住,由于服务器/网络延迟,可能会出现小的延迟。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接