从前端传递所有的记录数
首先,从数据库查询出所有的记录 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。