gpt4 book ai didi

javascript - 使用 JS 对象作为 mySQL 查询字符串的值

转载 作者:行者123 更新时间:2023-12-02 21:35:41 25 4
gpt4 key购买 nike

我正在使用池在nodejs上查询mySQL。我们正在这样做,并且运行良好。

let values = [1, 2, 3];
DB.pool.query('SELECT * ROM table_name WHERE col1 = ? AND col2 = ? AND col3 = ?' , values, ( err, rows ) => {
//Do something
});

正如您所注意到的,where 值位于数组中,我们在查询字符串上使用 ? 来插入这些值。问题是,在复杂的查询上,有很多值(value)。

有没有办法使用对象来代替?

类似于:

let values = {col1: 1, col1: 2, col1: 3};

查询字符串如下:

SELECT * ROM table_name WHERE col1 = :col1 AND col2 = :col2 AND col3 = :col3

如有任何帮助,我们将不胜感激。

最佳答案

您可能正在寻找类似 knex 的查询生成器或slonik .

您可以编写自己的实用函数来帮助将字符串插入查询中,也许可以使用 JS Template Literals ,但是已经存在像上面这样的包来帮助您做到这一点。

最终,答案是“并非如此”。 SQL 查询本质上是一个字符串。要么您将使用为您构建查询的客户端/库(这就是您已经使用的任何客户端正在做的事情,让您传入一个值数组以插入到字符串中),要么您是以某种方式自己手动创建字符串。

关于javascript - 使用 JS 对象作为 mySQL 查询字符串的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60500917/

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