我正在try 使用WHERE子句动态创建一个查询,现在遇到了一个问题,我想使用PUSH_BIND来添加一个值,因为它是用户输入.
但我有以下问题.如果我使用PUSH_BIND构建查询,则不会得到任何值:
if let Some(test) = ¶m.test{
query_builder.push(" AND \"Test\" ilike '%");
query_builder.push_bind(test);
query_builder.push("%'");
}
另一方面,如果我只使用推送来构建查询,则会得到期望值:
if let Some(test) = ¶m.test{
query_builder.push(" AND \"Test\" ilike '%");
query_builder.push(test);
query_builder.push("%'");
}
有人能解释一下push_bind在内部做什么吗?或者我通常如何使用sqlx做这件事?