gpt4 book ai didi

php - LAST_INSERT_ID() 链接双表插入

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

我使用 PDO 在 PHP/MySql 上运行。

假设我有一个这样的查询。 $OrderId 在“Orders”表中自动递增。我可以使用 LAST_INSERT_ID() 在“Orders”和“BoughtItems”表中插入 $OrderId。

INSERT INTO Orders (OrderId, CustomerName, CustomerEmail, OrderTotal, OrderTaxes)  
SET @order_id = LAST_INSERT_ID();
INSERT INTO boughtItems (OrderId,ProductId,OrderedQty) Values (@order_id, :productid_1,
:name_1),(@order_id, :productid_2, :name_2),(@order_id, :productid_3, :name_3)

如果两个人同时针对不同的订单执行此脚本会发生什么?

他们都获得相同的 $OrderId 并混淆订单有危险吗?

感谢您的宝贵时间!

最佳答案

LAST_INSERT_ID() 是按每个连接计算的,因此不会出现跨连接的竞争情况。

因此,如果与服务器的不同连接上的某人也执行 INSERT,它不会影响您的 LAST_INSERT_ID() 正确性,因此您不会遇到任何问题。

关于php - LAST_INSERT_ID() 链接双表插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27083615/

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