我们的想法是,在提交表单上循环后,不仅仅是从表单更新的所有行都将从数据库中删除。
有类似的东西有优雅的MySQL声明吗?
答案 0 :(得分:2)
没有。存储PK并在删除后使用NOT IN。
答案 1 :(得分:1)
手前删除是危险的;如果用户关闭浏览器怎么办?存储主键的辅助是一种选择。最简单的就是:
1)将所有匹配的行日期设置为1970年1月1日。 2)提交表格,包括更新行中的当前时间。 3)删除旧日期的所有行。
效果很好。
答案 2 :(得分:0)
您可以在表格中添加时间戳列。更新的所有行都将具有当前时间戳。然后,您可以运行删除查询,选择所有行的时间戳小于更新表的大致时间。虽然不是一个完整的解决方案。
另一种方法是在更新时设置一些列值,然后删除列值未更新的行
答案 3 :(得分:0)
逆转情况怎么样?
更新tbl set this = that col ='something'; 从tbl删除col!='something';