gpt4 book ai didi

mysql - 使用 node-mysql,我怎么能不转义 mysql 函数?

转载 作者:可可西里 更新时间:2023-11-01 08:31:40 25 4
gpt4 key购买 nike

我正在尝试使用 node-mysql module 在插入语句中使用 MySQL 函数“now()” :

var insert = {
username: 'foo',
date_joined: 'now()',
};

connection.query('INSERT INTO users SET ?', [insert],function(err, result){ ... });

如我所料,这给了我一个错误,Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: 'now()' for column 'date_joined',因为它转义了 now() 函数转换为字符串,而不是让 MySQL 将其解析为我想要的函数。

实际上,我的插入语句和查询要复杂得多,所以我想利用 escaping query values node-mysql 提供的快捷方式,而不是手动构建我的查询。

如何告诉 node-mysql 不要转义 now() 函数?

最佳答案

您可以使用 mysql.raw()。这直接来自文档。

var CURRENT_TIMESTAMP = mysql.raw('CURRENT_TIMESTAMP()');
var sql = mysql.format('UPDATE posts SET modified = ? WHERE id = ?', [CURRENT_TIMESTAMP, 42]);
console.log(sql); // UPDATE posts SET modified = CURRENT_TIMESTAMP() WHERE id = 42

关于mysql - 使用 node-mysql,我怎么能不转义 mysql 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com