如何包含在MySQL准备语句中?

  • 本文关键字:语句 何包含 MySQL mysql
  • 更新时间 :
  • 英文 :


我有一个存储过程,其中有一个准备好的语句,我需要在其中一列数据中插入' '。这是我的存储过程。

CREATE DEFINER=`root`@`localhost` PROCEDURE `manage_page`(IN `actionType` VARCHAR(100), IN `actionValue` TEXT)
BEGIN
###########################################################
if(actionType='showDetails') then
SET @P_DEPT = '
SELECT COUNT(*) AS TotalGPCandidates FROM user_mstr WHERE User_DeletedFlag=false';
SET @P_DEPT = concat(@P_DEPT,' and Gender= "Female"');
PREPARE STMT FROM @P_DEPT;
EXECUTE STMT;  
end if;

END

但即使有12个女性用户,我也会得到0。

您可以逃离它们:

SET @P_DEPT = '
SELECT COUNT(*) AS TotalGPCandidates FROM user_mstr WHERE User_DeletedFlag=false';
SET @P_DEPT = concat(@P_DEPT,' and Gender= 'Female'');
-- test the returned query
select @P_DEPT ;

你的第二套实际上是无用的,而你可以直接将这个条件添加到第一套中。

最新更新