簡體   English   中英

兩個表上的mysql更新查詢

[英]mysql update query on two tables

我試圖使用如下所示的查詢在一個查詢中更新兩個表:

$query = "UPDATE tblproducts, tblsideimages 
          SET tblproducts.prodCode='oj', tblsideimages.prodCode='oj' 
          WHERE tblproducts.prodCode='aj' 
              AND tblsideimages.prodCode='aj'";

如果tblsideimages中有內容,例如那個,但是如果tblsideimages沒有內容則它不起作用。

問題是我必須相應地進行調整,因為並不總是在tblsideimages中會有內容。 有時,用戶可以添加僅在tblproducts中插入的數據。 我如何才能做到這一點,如果tblsideimages中沒有內容,它仍然適用於tblproducts,如果tblsideimages和tblproducts都有內容,兩者都會更新。 謝謝!

沒有辦法(和真正的原因)在一個查詢中完成所有工作。 所以只需將其拆分為:

UPDATE tblproducts SET prodCode='oj' WHERE prodCode='aj' 

UPDATE tblsideimages SET prodCode='oj' WHERE prodCode='aj'

較少的查詢並不意味着“更高效”,所以永遠不要按照這個想法將所有內容都放在一個查詢中。

您可以使用存儲過程執行此操作 - 使用事務中的update語句編寫存儲過程。

使用回滾,您可以確保將它們視為一個工作單元,即它們全部執行或者都不執行,以保持數據一致。

或者執行多個查詢

     $query="UPDATE tblproducts
             SET tblproducts.prodCode='oj'
             WHERE tblproducts.prodCode='aj';
             UPDATE tblsideimages 
             SET tblsideimages.prodCode='oj'
             WHERE tblsideimages.prodCode='aj'";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM