是否有用于检查字段是否存在的 SQL 语句?示例:我有一个包含以下内容的数据库:URL, IsCrawled, Level
等等。我需要检查 URL 是否已经存在。我不关心其他领域。我正在编写一个非常快速的爬虫,这是需要的。
问问题
201 次
3 回答
3
ALTER TABLE `table`
ADD UNIQUE INDEX `urls` (`URL`)
或简单,
ALTER TABLE `table`
ADD UNIQUE(`URL`);
不过,我使用第一种方法。也只阅读了第二种工作方法。可能并非如此。
于 2012-09-02T15:10:03.043 回答
1
这是你想要的吗?
SELECT COUNT(*)
FROM tableName
WHERE `URL` = 'urlHERE'
0
如果它不存在,它将有一个结果。或在字段上添加唯一索引URL
ALTER TABLE tableName
ADD CONSTRAINT indexName UNIQUE (`Url`)
这样,Insert
如果您插入一个已经存在的 url,该语句将失败。
于 2012-09-02T15:10:09.767 回答
1
为什么不在任何索引下使用普通选择:
SELECT ID FROM TABLE WHERE URL = @URL
如果选择不为空,那么已经有一个。
现在,根据您的问题,另一个更好的主意是添加一个UNIQUE CONSTRAINT以便通过设计您的数据库将不允许该值的重复。
现在,如果您只想比较 URL 的一部分(即域),那么您可以使用LIKE比较功能来查看是否已经存在一个使用相同域名存储的 URL。
于 2012-09-02T15:12:39.643 回答