update ข้อมูลใน MySQL แบบหลายตาราง

update ข้อมูลใน MySQL แบบหลายตาราง

กำลังทำ presashop ตัวใหม่อยู่ จำเป็นต้องใส่ต้อง copy feature จากภาษาหนึ่งไปอีกภาษาหนึ่งสำหรับ product 1,600 รายการ ถ้าเลือกใส่ใน backend ปกติถึงทำกัน 3 คนมือก็หงิกอยู่ดี (ยังไม่ต้องคิดว่าถ้าทำพลาดละ) และเพราะ prestashop เก็บข้อมูลโดยแยกแต่ละภาษา ออกไปอีกตารางจึ้งต้องเขียน sub query ตามแบบ
SQL Update column values using subquery
query ของผมเป็น
[code language=”sql”]
UPDATE `feature_value_lang` AS target INNER JOIN (
SELECT `id_feature_value` ,`value`FROM `feature_value_lang`
WHERE `id_lang` = 1
) AS source ON target.`id_feature_value` = source.`id_feature_value`
AND target.`id_lang` = 3
SET target.`value` = source.`value`
[/code]

About the author

phunsanit administrator

Leave a Reply