这是我试图工作但无济于事的代码:
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//
我哪里做得不对?
最佳答案
您的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;
关于MySQL:可以在存储过程的更新中使用内部联接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11243203/