mysql批量插入数据,重复数据不插入或者直接更新的方法

批量插入数据时,因主键冲突, 导致无法插入数据, 怎么解决

1.on DUPLICATE key

已经存在的数据, 则更新updatetime, 在sql语句后加入on DUPLICATE key, 则已经存在的数据, 会直接更新

例如:

INSERT INTO `user_center`.`tt_tenantry_user`(`tenant_id`, `user_id`, `update_time`) VALUES ('T_DW', '001', now()) 
on DUPLICATE key  update update_time=now();
INSERT INTO `user_center`.`tt_tenantry_user`(`tenant_id`, `user_id`,`update_time`) VALUES ('T_DW', '002', now()) 
on DUPLICATE key  update update_time=now();

2.insert ignore into

当插入数据时,如重复数据,将不返回错误,只以警告形式返回

例如: 

insert ignore into  `user_center`.`tt_tenantry_user`(`tenant_id`, `user_id`, `update_time`) 
VALUES ('T_DW', '001', now()) ;

猜你喜欢

转载自blog.csdn.net/bugua3542/article/details/121704563