如何检查 url 存在但有百分比值

How to check url exist but has percentage value

问题

在当前数据库中

URL_LIST table

| id | url |
| --- | ---|
| 1 | https://example.com/?url=https%3A%2F%2Fsite2.com%2my_name=ABC |

通过以下这些方式检查url是否存在

  1. 原件url(仅限复印件) select * 来自 URL_LIST 其中 url = '<a href="https://example.com/?url=https%3A%2F%2Fsite2.com%2my_name=ABC" rel="nofollow noreferrer">https://example.com/?url=https%3A%2F%2Fsite2.com%2my_name=ABC</a>';
  2. 为“%”和“_”添加斜杠 select * 来自 URL_LIST 其中 url = '<a href="https://example.com/?url=https" rel="nofollow noreferrer">https://example.com/?url=https</a>\%3A\%2F\%2Fsite2.com\%2my_name=ABC';
  3. 删除“%”和“_” select * 来自 URL_LIST 其中 REPLACE(REPLACE(url, '%', ''), '_', '') = '<a href="https://example.com/?url=https3A2F2Fsite2.com2myname=ABC" rel="nofollow noreferrer">https://example.com/?url=https3A2F2Fsite2.com2myname=ABC</a>';

在插入或更新记录之前,我想检查 url 是否存在。 无论我将搜索值设置为与数据库中的 url 值相同,并在百分比 (%) 符号和下划线符号 (_) 前添加斜线,但仍然不起作用。

结果总是 "not exist"。 所以我只能插入新记录,不能更新那条记录。

注意:请不要告诉我通过id检查是否存在,因为我从csv文件中得到了urls,然后我想检查那些urls是否存在于我的数据库中.然后决定是插入还是更新。

对不起大家

我发现了我的问题。

原因是:我将url列的length设置为255(意思是:数据库中的数据在插入时被截断了url的整个值) ,当实际长度更长时。 设置为1024后,我可以正确检查存在。