在mysql中的重复条目上跳过插入
Posted
技术标签:
【中文标题】在mysql中的重复条目上跳过插入【英文标题】:Skip insert on duplicate entry in mysql 【发布时间】:2012-04-12 17:30:43 【问题描述】:我有一个最喜欢的表,其中包含一些字段,例如 login_id,driver_id(一个 login_id 可能有多个 driver_id) 。然后我使用批量更新,没有检查 driver_id 是否存在于表中。
输入数据将设置驱动程序 ID,如果相关 login_id 已经存在相同的 ID,我需要跳过驱动程序 ID 的插入。所以新的id会被插入,其他的不会
我可以用mysql做什么,表中需要的所有设置是什么。
请指教
【问题讨论】:
【参考方案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).....
【讨论】:
以上是关于在mysql中的重复条目上跳过插入的主要内容,如果未能解决你的问题,请参考以下文章
MySQL utf8 多字节(utf8mb4)插入重复条目问题