【问题标题】:Skip insert on duplicate entry in mysql在mysql中的重复条目上跳过插入
【发布时间】:2012-04-12 17:30:43
【问题描述】:

我有一个最喜欢的表,其中包含一些字段,例如 login_id,driver_id(一个 login_id 可能有多个 driver_id) 。然后我使用批量更新,没有检查 driver_id 是否存在于表中。

输入数据将设置驱动程序 ID,如果相关 login_id 已经存在相同的 ID,我需要跳过驱动程序 ID 的插入。所以新的id会被插入,其他的不会

我可以用mysql做什么,表中需要的所有设置是什么。

请指教

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:

    在 mysql 中使用 login_id 和 driver_id 创建一个唯一键。

    当您尝试根据这些键插入现有记录时,将引发错误。然后,您可以捕获此错误并正常进行。

    CREATE UNIQUE INDEX unique
      ON tbl_name (login_id, driver_id)
    

    【讨论】:

      【解决方案2】:

      您可以使用“INSERT IGNORE INTO”。它返回更新的行数。

      INSERT IGNORE INTO favorite(login_id,driver_id) VALUES (login_id,driver_id) (login_id,driver_id).....
      

      【讨论】:

        猜你喜欢
        • 2012-04-12
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-13
        • 1970-01-01
        • 2010-10-23
        相关资源
        最近更新 更多