繁体   English   中英

在MySQL中在一个查询中更新多个表

[英]Update multiple tables in one query, in MySQL

我想从csv更新表格。 现在,来自csv的数据被导入到表“ temp_update_stany”中,但是我无法更新表。 查询没有错误,但是没有任何更新。

CSV中的表格为:

produkt|quantity|price|active|czas

查询:

UPDATE lp2_product tabela 
        INNER JOIN lp2_stock_available stany ON (tabela.id_product = stany.id_product)
        INNER JOIN lp2_product_lang lang ON (tabela.id_product = lang.id_product)
        INNER JOIN temp_update_stany csv ON (tabela.id_product = csv.produkt)
    SET
        tabela.active = csv.active,
        tabela.price = csv.price,
        lang.available_now = csv.czas,
        stany.quantity = csv.quantity
    WHERE
        csv.produkt = tabela.id_product 
        OR csv.produkt = lang.id_product 
        OR csv.produkt = stany.id_product

并从查询输出:

Modified records: 0 (Perform queries took 0.0322 seconds (s)).

但例如,“ lp2_product” /行“活动”的所有产品的值为0,而temp_update_stany所有产品的值为1。

是的,这是用于更新数量和价格的prestashop和简单脚本。

根据上面的评论,如果没有净变化, UPDATE报告受影响的零行。 因此,如果表已使用所需的值进行了更新,则UPDATE是无操作的,并且不会“影响”行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM