gpt4 book ai didi

PHP MySQL : Update a Join table?

转载 作者:行者123 更新时间:2023-11-29 14:30:55 25 4
gpt4 key购买 nike

我对如何最好地更新连接表有点困惑。

Presentaion
id PK

Asset
id PK

PresentationAsset
presentationid
assetid

因此,在更新Presentation及其在PresentationAsset中的关联 Assets 时,我是否首先搜索所有关系,删除这些关系,然后创建新的关系?

处理这种情况的最佳方法是什么?

最佳答案

至少删除它们并创建新的肯定是最简单的。毕竟,这只是两个查询。

DELETE FROM PresentationAsset WHERE presentationid = 1
INSERT INTO PresentationAsset VALUES (1, 1), (1, 2), (1, 3)

假设这些确实是该表中仅有的两列(例如,没有时间戳或任何其他内容),我无法想象您需要将其变得更加复杂的任何原因。

毕竟,删除现有行并插入所有新行的替代方法是保留已存在的行,但删除不再应该存在的行,然后插入新行。本质上,您最终仍然会得到至少一个 DELETE 和一个 INSERT,因此在大多数实际应用程序中应该不会有太大的性能差异。第一种方法的性能甚至可能更好,因为它需要对每个操作进行更少的值检查。

当然,如果您正在处理足够大的场景,其中如此微小的性能差异非常重要,那么您可能希望对所有选项进行实际测试并亲自测量性能。

当然,如果这些不是表中仅有的两列,则您需要正确保留要更新的行的其他列的值,因此删除无论如何,all 和插入 new 都不是一个选项。

关于PHP MySQL : Update a Join table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com