数据库批量更新多条记录逻辑

从前端传递所有的记录数

首先,从数据库查询出所有的记录 id

比较新旧记录id:

  • 如果旧记录有,但新记录没有,说明是删除,归类到删除
  • 如果新记录有,旧记录没有,说明为新增(还有一种方法,就是新增时前端不传递id,后端判断记录无id即新增)
  • 其余全部为更新

批量插入 insert into xxx values(),(),()…

批量更新:update xxx set xxx case … when

批量删除:delete from xxx where id in(x, x, x)

加上前面的查询,通常情况下需要4条sql。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注