检查varchar值并避免MySQL表中的重复条目

时间:2012-06-26 16:54:39

标签: mysql mysql-python mysql-management

我需要运行一个应用程序来收集新闻源并更新我的数据库中的新条目。所以我计划创建两个表,一个源,另一个作为目标。 我的计划是首先使用唯一数据(当前更新的新闻或新记录)将所有信息更新到源表和后更新目标表中。

但问题是在其他一些网站上重复了一些提要。所以应用程序在读取重复的条目后立即中断。

我已在下面附上我的MySQL查询

create table table1 (
  DateandTime datetime,
  Name tinytext,
  Title varchar(255),
  Content Longtext unique(Title)
);

我知道这听起来太基本了。但我没有任何解决方案。

感谢您的反馈和想法。谢谢

2 个答案:

答案 0 :(得分:0)

几个解决方案:

  1. 唯一列应防止重复数据
  2. INSERT WHERE NOT EXISTS
  3. 在MySQL中使用MERGE引擎(http://dev.mysql.com/doc/refman/5.1/en/merge-storage-engine.html)

答案 1 :(得分:0)

我修改了对Marcus Adams建议的查询。

Insert Ignore table1 (
DateandTime,
Name,
Title,
Content)
values
(.......
);

我认为单一表足以解决我的问题。谢谢