価格を記載されている価格と店舗の製品情報製品テーブルにテーブル、我々は2つのテーブルを持っていると仮定し、別のテーブルにはProductPriceテーブルで、私たちはテーブルで価格価格価格フィールド更新ProductPriceテーブル価格フィールドにしたいです80%。
MySQLでは、我々はこれを行うには、いくつかの手段を持って、一つは更新TABLE1 T1を、表2 TS ...方法です。
UPDATE製品P、productPriceの頁の
SETのpp.price = pp.price * 0.8
p.productId = pp.productId
とp.dateCreated < '2004-01-01'
もう一つの方法は、更新し、内部結合を使用することです:
UPDATE製品P
INNERはproductPrice頁JOINの
ON p.productId = pp.productId
のSET pp.price = pp.price * 0.8
WHERE p.dateCreated < '2004-01-01'を
また、我々はまた、ProductPriceテーブルは価格が記録されない場合、たとえば、それは製品表1、次のSQL文にフィールドをisDeletedなり、マルチテーブルの更新を行うために左外部結合を使用することができます。
UPDATE製品Pの
LEFT JOIN productPrice PP
ON p.productId = pp.productId
= 1 p.deleted SET
pp.productIdがnull
また、上記の実施例は、関連する2つのテーブル間で行われているが、唯一のテーブルのレコードを更新するために、実際には、2つのテーブルが以下のSQL、同時に更新することができます。
UPDATE製品P
インナーproductPrice PP JOIN
ON p.productId = pp.productId
SETのpp.price = pp.priceを* 0.8、
p.dateUpdate = CURDATE()
p.dateCreated < '2004-01-01'
二つのテーブルに関連付けられているdateUpdate 2つのフィールドは、価格ProductPriceフィールドとProductテーブルのフィールドのテーブルを更新します。