我想更新链接到一行的类别。一行可以链接到多个类别。为了直观地表示这一点,请查看以下简化方案:
id name
----------
1 Chair
2 Computer
id category
--------------
90 Asset
100 Furniture
200 Electronics
300 Garbage
obj cat
---------
1 90
1 100
2 90
2 200
所以我现在在数据库中有这些值。但现在我决定将Chair
记录更新为100 | Furniture
和300 | Garbage
。
如何有效地进行此操作?我知道我可以删除所有相关链接,然后添加新链接,但必须有一种更有效的方式来执行此操作。
答案 0 :(得分:0)
您可以选择几种不同的选项:
如果Linking Table
中的行数没有变化,请更新现有行。在这种情况下,您可以将1 90
的行更新为1 300
。这里的挑战是确保要删除的行数等于您计划插入的行数。
删除不再有效的那些,并为缺少的行插入新的。请注意,在这种情况下,1 100
行仍然保持不变,就像第一种情况一样,尽管这并不需要要删除的行数=要插入的行数。
Nuke n Pave将是您最初建议删除所有数据并重新开始可能过度杀伤的内容。