我在表单上有一些输入框和一个按钮,它将通过执行一个由 WHERE 子句组成的查询来搜索数据库表,该子句具有与输入框对应的几个条件。 用户可能会也可能不会填充所有输入框,所以我只想在where子句中使用所有列的预定义查询,如:
column01=? AND column02=? AND ... AND columnN=?
然后有一个元组或列表,它只是我在一个循环上构建的,其中输入的数据放在相同的顺序上,WHERE子句的列被排列,每个输入只检查它是否是" " (未输入)如果是这样,列表中的相应位置将被分配 某些 ,使该特定条件透明!为了澄清自己,看看用户填写没有输入框意味着什么(想象一下这个东西是 星号 ):
"SELECT * FROM sometable WHERE column01=* AND ... AND columnN=*"
希望像这个查询一样工作:
"SELECT * FROM sometable"
对任何专栏都没有约束力。这可信吗?
答案 0 :(得分:0)
正如Christos在上面正确指出的那样,SQL查询中的模式匹配是实现此目的的方式以及许多其他更复杂的事情。
我只需要使用 LIKE 而不是等号并将'%'
分配给我想要透明的任何条件。更多信息here