gpt4 book ai didi

mysql - 只有一个条件的一个查询中对多个表的多次更新

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

我想将上面的这些查询转换为 MySQL 中的单个查询:

UPDATE ps_stock_available 
SET `quantity` = 0
WHERE id_product IN (SELECT id_product
FROM ps_product_shop
WHERE `date_upd` < Now() - INTERVAL 48 hour);


UPDATE ps_product_lang
SET `available_later` =
'Sobre Pedido: Entrega de 4 a 6 semanas --Sujeto a disponibilidad--'
WHERE id_product IN (SELECT id_product
FROM ps_product_shop
WHERE `date_upd` < Now() - INTERVAL 48 hour);


UPDATE ps_warehouse_product_location
SET `id_warehouse` = 3
WHERE id_product IN (SELECT id_product
FROM ps_product_shop
WHERE `date_upd` < Now() - INTERVAL 48 hour);


UPDATE ps_stock_available
SET `out_of_stock` = 2
WHERE id_product IN (SELECT id_product
FROM ps_product_shop
WHERE `date_upd` < Now() - INTERVAL 48 hour);

在一个有效查询中进行这 4 次更新的正确方法是什么?

最佳答案

因为您正在更新不同的表,所以我认为没有办法通过单个查询来完成。

如果您正在更新单个表,您可以将要插入的所有值捆绑到一个查询中。

为了节省时间,您可以通过将 id_product 数组保存为 id_products 然后使用该数组运行 4 次查询来避免执行 4 次相同的子查询.

关于mysql - 只有一个条件的一个查询中对多个表的多次更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47164413/

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