前端传递过来的一个字段满足多个条件,在SQL语句中怎么使用元组来解决?
但我在sql语句中遇到一个字段满足多个条件值时,我们很容易想到在SQL语句中使用 字段 + in + 元组
,但在js中,是没有元组,也没有办法将数组或者字符串转换成元组在放到SQL语句中去执行。这里小白经过一段时间的尝试得到一个解决方法:
- 第一步,我们要将SQL语句中元组里需要的元素放在一个数组里,让数组作为参数
- 第二步,我们不要直接将数组所要用到的地方用一个
?
来占位,而要使用(?)
来占位,小白目前猜测,他会自动帮我们展开,就像es6中的...arr
一样。
var params = [
request.info.u_id,
[123,222,112,110]
];
var sql = 'update carts set p_status = 0 where u_id = ? and p_id in (?);'
//这里就可正常执行sql语句了