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

标签 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//

我哪里做得不对?

最佳答案

您的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/

相关文章:

mysql - 如何在 SQL 中执行条件插入

mysql - 如何在 HQL 中使用 mysql null 安全相等运算符 <=>?

mysql - spring boot 1.5.2 和 EntityScan 有冲突

mysql - 如何修复有问题的 MySQL InnoDB 表?

mysql - 来自表决表的 Echo SQL 查询

c# - 当绑定(bind)到的数据库更新时,是否可以让 datagridview 自动更新?

mysql - 多对多对多mysql查询

php - ORM for mysql now() - Laravel 4

Mysql不断重启(但我不确定为什么)

mysql 错误 2002 HY00