在表上运行更新时出现问题

时间:2014-10-28 05:45:15

标签: mysql sql

我有以下查询:

   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

我不明白错误是什么。有人在乎提供线索吗?

1 个答案:

答案 0 :(得分: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';