在完整MySQL表上运行正则表达式搜索的最佳方法?

时间:2011-02-14 08:51:45

标签: php mysql regex search

我正在尝试查找在我的网站上设置了多个免费帐户的用户。我需要使用正则表达式搜索一个充满URL的表,以在这些URL中查找某个ID,然后将其与users表进行比较。

例如,Users表中的一行如下所示:

USERID = 1 ACCTYPE = 0 UNAME =约翰

在网址表中,用户会存储会员链接列表。

USERID = 1 URL = http:// example.com/?affid=1234

USERID = 1 URL = http:// example.com/cat3/?affid=1234

USERID = 2 URL = http:// example.com/cat3/?affid=5678

USERID = 3 URL = http:// example.com/cat6/?affid=1234

为仅限演示的网址添加了空格。

我需要查找具有相同内容但用户ID不同的任何网址。

正如您在上面的示例中所看到的,USERID 3与USER1具有相同的附件。

我不希望任何人为此编写代码,因为我没有提供足够具体的示例。如果有人能够解释理论如何做到这一点,那将非常有帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用相同的表进行JOIN,但为了提高效率,我会在插入时将URL中的联属会员ID提取到自己的列中。 这样,您的查询根本不需要正则表达式(LIKE)。