gpt4 book ai didi

Php mysql - 在一个查询中插入多个表

转载 作者:行者123 更新时间:2023-11-29 11:47:12 24 4
gpt4 key购买 nike

添加产品时我有下表

  1. product_table [包含 pid、名称、速率、高度、宽度等基本详细信息]
  2. product_sellers [包含卖家详细信息等参数]
  3. product_offers [包含产品优惠]

等等5个表。总共8个表,所有表都通过pid作为外键链接。

我知道以下三种方法:

  • 在所有表上一一使用 Insert 语句

    $sql = "table 1 insert"; $sq2 = "table 2 insert";
  • 为所有表创建函数并一一调用。
  • 使用 BEGIN 和 COMMIT 语句。

    BEGIN
    $sql = "table 1 insert";
    $sq2 = "table 2 insert";
    COMMIT

有没有更好的方法,以上三种方法中哪种方法更快、更熟练?

最佳答案

使用优势

    BEGIN
$sql = "table 1 insert";
$sq2 = "table 2 insert";
COMMIT

您的更改可以在服务器端批量处理。

因为您要对多个表进行更改,所以将所有更改放入事务中(而不是在自动提交中运行)将允许您在其中一个失败时撤回所有更改。它还允许对数据库的更改以原子方式向其他客户端显示,而不是在每个查询执行时使更改变得可见。

在这种情况下,这不是一个因素,但是当对同一个表的多个修改批量一起时,这也可能允许更有效地更新索引。


如何在 PHP 代码中实现它取决于您。根据应用程序的需求,一个处理所有事情的函数可能就足够了。但是,最好将对数据库的各个插入调用拆分为可以重用的不同函数(特别是如果产品的各个部分在创建后可能会发生变化),并通过启动一个函数来处理“插入产品”。事务,调用各个函数,处理错误,并根据需要提交或回滚事务。

关于Php mysql - 在一个查询中插入多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724685/

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