mysql orm-conditional where子句

bxgwgixi  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(333)

我在用 sequelize 作为mysql orm,我有以下代码:

  1. mysql().lib.query("SELECT t.id, t.address
  2. FROM mytable t
  3. WHERE t.fname = :fname OR t.lname = :lname",
  4. replacements: { fname, lname })
  5. ``` `fname` 以及 `lname` 可能未在代码中设置或设置为的变量 `null` . 所以我的问题是-我怎么能用其中的一个或两个呢 `WHERE` 但前提是它们“存在”?
  6. (注意:其中至少有一个肯定存在)
vsnjm48y

vsnjm48y1#

你可以用简单的布尔逻辑

  1. WHERE (:fname is null or t.fname = :fname)
  2. AND (:lname is null or t.lname = :lname)
  3. ^------ I used AND here since it does make more sense

相关问题