gpt4 book ai didi

php - 带有两个 JOINS 和两个 SET 字段的 mySQL UPDATE

转载 作者:行者123 更新时间:2023-11-30 21:48:17 26 4
gpt4 key购买 nike

我已经挖掘了三天,试图解决这个问题,但我找不到任何信息,至少我可以理解,与这个特定实例有关。

我有一个 PHP 页面正在更新我的数据库,运行时没有报错。以下查询设置了 tmp_inv1 表中的 sp.revelInvID 列,但它没有设置 sp . product 表中的 revelSku 列。

UPDATE shopifyProd sp
JOIN product prod ON prod.sku = sp.varSku
JOIN tmp_inv1 inv ON inv.sku = sp.varSku
SET sp.revelSku = prod.sku, sp.revelInvID = inv.invID;

我也试过:

UPDATE shopifyProd sp, product p
JOIN tmp_inv1 inv ON inv.sku = sp.varSku
SET sp.revelSku = prod.sku, sp.revelInvID = inv.invID
WHERE p.sku = sp.varSku

以及许多其他可怕的不正确和充满失败的方式。内连接、外连接、左连接、交叉眼睛和许多眼泪。我一直在 phpMyAdmin 和我的 php 页面中测试它们,但无济于事。

手头的主要问题是我需要构建另一个查询,该查询将类似但具有三个或四个联接。我是否只需要运行多个查询才能完成这项工作?每个 Join/Set 一个?

最佳答案

如果表可能不包含 SKU 的匹配项,则需要使用 LEFT JOIN

UPDATE shopifyProd sp
JOIN product prod ON prod.sku = sp.varSku
LEFT JOIN tmp_inv1 inv ON inv.sku = sp.varSku
SET sp.revelSku = prod.sku, sp.revelInvID = inv.invID;

关于php - 带有两个 JOINS 和两个 SET 字段的 mySQL UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465599/

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