CREATE DEFINER=`root`@`localhost` PROCEDURE `get_plan_images`(
_list varchar(2000)
)
BEGIN
SET @LIST=_list;
set @sql = concat('SELECT plan_id, plan_image
FROM ibuild.plan_images
where plan_id in (', @LIST , ')');
PREPARE q FROM @sql;
execute q;
END
是什么 concat
你在这儿干什么?这句话是什么意思 PREPARE q FROM @sql;
1条答案
按热度按时间h6my8fg21#
concat只是将两段或多段文本合并在一起。在上面的示例中,@list包含传入过程的id列表。在concat之后,@sql将变成一个字符串,其中包含以下内容:
SELECT plan_id, plan_image FROM ibuild.plan_images where plan_id in (1,2,3)
请参见:mysql concat函数prepare语句只是给语句一个名称,以便您可以执行它。请看这里:mysql prepare