是否有SQL语句来检查字段是否存在? 例如: 我有一个数据库包含以下内容:URL, IsCrawled, Level
等等 我需要检查URL是否已经存在。 我不关心其他领域。 我正在写一个非常快的爬虫,这是必要的。Mysql避免重复的URLS
2
A
回答
1
你为什么不使用任何指数下一个普通的选择:
SELECT ID FROM TABLE WHERE URL = @URL
如果选择不为空,那么就已经之一。
现在,根据您的问题,另一个更好的主意是添加一个UNIQUE CONSTRAINT,所以通过设计您的数据库不会允许重复的值。
现在,如果您只想比较要查看的网址的一部分(即域),那么可以使用LIKE比较函数来查看是否已存在具有相同域名的一个URL。
+0
谢谢!正是我在找的! – user1599078
+0
这不会考虑无关的参数,例如市场营销活动等等,这会影响检查过程。 –
3
ALTER TABLE `table`
ADD UNIQUE INDEX `urls` (`URL`)
或简单,
ALTER TABLE `table`
ADD UNIQUE(`URL`);
虽然,我使用第一种方法。只读了关于第二种方法的工作。 它可能不是如此。
1
这是你想要的吗?
SELECT COUNT(*)
FROM tableName
WHERE `URL` = 'urlHERE'
,如果它不存在,它将会有0
结果。或在fieldd URL
ALTER TABLE tableName
ADD CONSTRAINT indexName UNIQUE (`Url`)
以这种方式添加唯一索引,如果您将已经存在的URL Insert
语句将失败。
相关问题
- 1. 避免重复行mysql
- 2. 在MySql中避免重复。
- 3. 避免重复
- 4. 避免重复
- 5. 的Python/MySQL的避免重复插入
- 6. MySQL的 - 存储坐标避免重复
- 7. mysql - 避免重复的最好方法
- 8. 避免重复的mysql连接
- 9. Mysql如何避免重复我自己
- 10. 避免在mysql中重复输入
- 11. MYSQL计算,避免重复值
- 12. MySQL避免数据重复与插入
- 13. PHP - MYSQL - 避免计数重复元素
- 14. 避免重复在mysql插入
- 15. 避免重复输入MySQL和PHP
- 16. MySQL查询,以避免重复结果
- 17. Codeigniter MYSQL QUERY insert_string避免重复
- 18. 避免在mysql表中间接重复
- 19. MySQL查询 - 避免重复条目
- 20. MySQL如何避免重复行
- 21. 避免重复行
- 22. 避免重复值
- 23. R:避免重复$
- 24. 避免重复行
- 25. JavaScript重构/避免重复
- 26. 避免URLS中的CSRF令牌
- 27. 避免重复的HTML
- 28. javascript避免重复的URL
- 29. 避免重复的结果?
- 30. 避免重复的javascript
您可以在URL字段中放置一个唯一索引,以便相同的URL不能插入两次。 – Sam
从数据库方面解决这个问题。为url字段添加唯一索引。它将执行独特的约束并提高性能 – Icarus