【问题标题】:how to dynamically create mysql query with multiple WHERE LIKE and OR?如何动态创建具有多个 WHERE LIKE 和 OR 的 mysql 查询?
【发布时间】:2021-03-15 01:53:02
【问题描述】:

我有一个 node.js 应用程序,我想在其中动态实现一个 mysql 查询,该查询符合以下内容: SELECT * from USERS where col LIKE %value1% or col LIKE %value2% or col LIKE %value3% etc.

值 value1、value2、value3 等是由用户发送到后端的值 - 用户将决定发送多少值以及值本身。起初我以为我可以将这些值全部存储在一个数组中,但显然 LIKE 运算符只有在 where 条件由多个 OR 链接时才能达到上述查询的预期结果(因此,像前面提到的参数化查询将不起作用因为我们不知道会有多少个值)。我想到了类似的东西: SELECT * from USERS where col IN (value1,value2,value3 etc.) 但这仅适用于 IN 运算符,我希望 col 值包含字符串而不是等于它们。有人知道如何动态实现这一点吗?

【问题讨论】:

    标签: mysql sql-like dynamicquery dynamic-queries


    【解决方案1】:

    在一个数组中获取用户的输入,并在输入数组中循环,并创建 Like 查询,并将数组的每个项目推入新数组。并加入由 OR 推入数组的项目。并将新创建和连接的数组传递给您的查询。

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      相关资源
      最近更新 更多