MySQL:内部联接可以在存储过程中的更新中使用吗?

时间:2012-06-28 11:01:41

标签: mysql

这是我的代码,我试图无济于事:

CREATE DEFINER=`auser`@`localhost` PROCEDURE `listings_set_image`(
  IN inPropertyId INT, IN inImage VARCHAR(150), IN inCaption(255))
BEGIN
  INNER JOIN    property_images pi
    ON pi.image_id = i.image_id
  UPDATE images i SET i.image_name = inImage, i.image_caption = inCaption 
  WHERE pi.property_id = inPropertyId;
END//

我做得不好?

1 个答案:

答案 0 :(得分:1)

您的UPDATE语法不正确;联接应该构成 table_references 的一部分:

UPDATE images i JOIN property_images pi USING (image_id)
SET    i.image_name = inImage, i.image_caption = inCaption
WHERE  pi.property_id = inPropertyId;