代码之家  ›  专栏  ›  技术社区  ›  user2693928

编辑/删除多行的最佳方法,如果它们存在

  •  0
  • user2693928  · 技术社区  · 6 年前

    我有一个表“角色”,表“页面”和表“页面角色”。

    对于每个页面“roles”,我有多个select字段,在这里我选择给定页面的所有角色。 角色:

    普通用户

    付费用户

    等等。

    问题是:

    当我第一次保存两个角色时,将插入两行。

    角色表:

    id=1,role=普通用户 id=2,role=paid用户

    角色访问:

    id=1,角色id=1,页面id=1 id=2,角色id=2,页面id=1

    在第二次编辑时,我有以下变体:

    1)首先删除给定页面的所有当前角色,然后插入选定的角色-这将在每次保存时快速增加ID,无论我是否更改了某些内容

    同上,但ID不同: id=3,角色id=1,页面id=1 id=3,角色id=2,页面id=1

    2)删除所有未选中的记录,然后插入选中的记录。 这将是有效的-对于没有存在的角色,它们将保存表的ID(RORESYPEX)。

    但这并不复杂。

    所以你有更好或者更聪明的方法来解决这个问题吗?

    谢谢你

    0 回复  |  直到 6 年前