【问题标题】:how to suppress mysql error java如何抑制mysql错误java
【发布时间】:2012-03-24 07:49:47
【问题描述】:

我正在尝试自动添加从 RSS 提要到 mySQL 表的链接。我想每小时从提要中获取输入,但是当我再次引用它时,通常我已经抓取的链接仍然存在于 RSS 页面上。

我有第一次工作的 java 代码,但是当我尝试将重复文件添加到 sql 表时,我得到一个异常。我认为 mySQL 会忽略并传递重复项,因为我在相关字段名称上使用了 MUL 键,但我得到了一个异常。

关于如何让这个滚动的任何想法?我不希望重复,也不希望重复阻止添加其他新事物。

谢谢!

【问题讨论】:

  • 在插入之前检查可能的重复项?
  • 您可能应该提供您正在使用的插入语句。您需要在插入或更改主键和唯一约束之前添加预检查条件以检查表中的重复项以允许表中的重复项。

标签: java mysql sql rss duplicates


【解决方案1】:

您可以使用 REPLACE INTO 代替 INSERT INTO:

REPLACE 的工作方式与 INSERT 完全相同,只是如果 table 与 PRIMARY KEY 或 UNIQUE 的新行具有相同的值 索引,在插入新行之前删除旧行。

http://dev.mysql.com/doc/refman/5.0/en/replace.html

【讨论】:

  • 是的,明白了。我应该先看看那里,谢谢你的帮助,不要叫我懒鬼!
【解决方案2】:

如果您想保留旧值而不是替换它,也可以使用INSERT IGNORE INTO ...

【讨论】:

    猜你喜欢
    • 2012-10-29
    • 2013-02-15
    • 2011-07-25
    • 2013-01-16
    • 1970-01-01
    • 2023-03-19
    • 2017-03-02
    • 2018-01-21
    • 1970-01-01
    相关资源
    最近更新 更多