2014-10-28 56 views
0

我有以下查詢:問題,當一個表運行update

UPDATE p 
    SET p.isShown = 1 
    FROM `shop_picture` p 
    INNER JOIN `shop` s 
    ON p.shop_id = s.id 
    WHERE p.`isShown` = 0 
    AND p.`deletedAt` IS NULL 
    AND p.`isLocked` = 1 
    AND s.`isLocked` = 1 
    AND s.`expirydate` < '2014-10-28 00:00:00'; 

試圖運行它,我總是得到一個錯誤時:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM shop_picture` p INNER JOIN `shop` s O' at line 3 

我不明白是什麼錯誤。任何人都在意提供線索?

回答

2
UPDATE `shop_picture` p 
    INNER JOIN `shop` s 
    ON p.shop_id = s.id 
    SET p.isShown = 1 
    WHERE p.`isShown` = 0 
    AND p.`deletedAt` IS NULL 
    AND p.`isLocked` = 1 
    AND s.`isLocked` = 1 
    AND s.`expirydate` < '2014-10-28 00:00:00';