抱歉标题不清楚。让我用一个例子来解释我的问题。
下面的URI表
id | uri
---------------
1 | /admin%
2 | /cart%
3 | /account%
我想要的是,如果我在页面/cart/checkout/index.php上,以便能够查询数据库并获得id = 2。同样,如果我在/admin/edit.php?id=123中,我使用该值来查询数据库并获取id = 1
我如何将其视为反向通配符...通配符位于数据库而不是查询中。
如果可能的话,我将不胜感激任何有助于此工作的帮助
答案 0 :(得分:1)
是。它会像你期望的那样工作:
select ut.*
from URITable ut
where @MYURL like ut.URIPattern;
这不能利用索引,因此它将进行顺序扫描。如果表只有几个模式,那应该没问题。如果您计划使用数千种模式执行此操作,性能可能会成为一个问题。