在MySQL内部过程中如何在动态查询中传递值

在MySQL内部过程中如何在动态查询中传递值,mysql,Mysql,“2016-09-30 10:30:00”,“2016-10-19 10:30:00” 当我像这样调用时,会得到错误代码: “where子句”中的未知列“TJU_741” 而我想设定一个值 请告诉我如何在动态查询中传递值我必须将值TJU_741传递到where clasue employee_code=,@empID,但我遇到错误请告诉我哪里做错了。employee_code=,@empID,x3 所以,如果您传递一个VARCHAR,结果将是employee_code=TJU_ID,这是一个列。

“2016-09-30 10:30:00”,“2016-10-19 10:30:00”

当我像这样调用时,会得到错误代码:

“where子句”中的未知列“TJU_741” 而我想设定一个值

请告诉我如何在动态查询中传递值我必须将值TJU_741传递到where clasue employee_code=,@empID,但我遇到错误请告诉我哪里做错了。

employee_code=,@empID,x3

所以,如果您传递一个VARCHAR,结果将是employee_code=TJU_ID,这是一个列。要么使用“employee_code=”、@empID”之类的引号,要么更安全一些,但我不知道如何在这里使用,请参阅,使用准备好的语句。

employee_code=,@empID,x3


所以,如果您传递一个VARCHAR,结果将是employee_code=TJU_ID,这是一个列。要么使用'employee_code='、@empID'之类的引号,要么更安全,但我不知道如何在这里,请看,使用准备语句。

每当我做适度复杂的准备时,我总是用select stmt将其清除,也就是说,它和rem清除prepare和exec以及DEALOC。因此,首先,只需转储字符串。所以,千万不要先翻到它的底部。8次中有9次爆炸。如何在where子句中传递该值just tel me@Drewdid你读了我刚才说的吗?用select和Stop将字符串转储出去!所以我刚才做的这个比较简单。当我刚开始时,黄线是活动的,3条红线是快速移动的。这样,我就可以通过确认我所有的concat内容都放在一起来查看字符串的状态。每当我进行中等复杂的准备时,我总是用一个select stmt来刷新它,也就是说,rem out the prepare and exec and dealloc。因此,首先,只需转储字符串。所以,千万不要先翻到它的底部。8次中有9次爆炸。如何在where子句中传递该值just tel me@Drewdid你读了我刚才说的吗?用select和Stop将字符串转储出去!所以我刚才做的这个比较简单。当我刚开始时,黄线是活动的,3条红线是快速移动的。这样我就可以通过确认我所有的concat内容都放在一起来查看字符串的状态。正确吗@Xenos@DevResearch接受已解决的问题,这样问题就不会一直没有答案。当我尝试添加查询和子句时,会出现一个问题,然后它会显示ErrorCorrect thanx@Xenos@DevResearch接受已解决的问题,这样问题就不会停留未回答当我尝试添加查询和子句时,出现了一个问题,然后它显示错误
CREATE DEFINER=`root`@`localhost` PROCEDURE `EventList_SP`(
in employeeId varchar(45),
in groupIdArray  text,
in skillIdArray text,
in startDate date, 
in endDate date
 )   
    SET @empID = employeeId;

    set @SQLQuery  =CONCAT( "SELECT groupId,eventId,scheduleId,description,events,eventType,scheduledDate,name,designation,image,skills,duration,status,
    CASE
        WHEN
            scheduledDate < NOW()
                AND (SELECT 
                    COUNT(*)
                FROM
                    event_request
                WHERE
                    event_id = eventId
                        AND employee_code =",@empID,") > 0
        THEN
            1
        WHEN
            scheduledDate < NOW()
                AND (SELECT 
                    COUNT(*)
                FROM
                    event_request
                WHERE
                    event_id = eventId
                        AND employee_code =",@empID,") = 0
        THEN
            0
        ELSE ''
    END AS hasRequested,
    (SELECT 
            actual_attendance_status_id
        FROM
            TJU.event_attendees_mapping
        WHERE
            scheduleId = event_schedule_id
                AND employee_code =",@empID,") AS attendingStatus,
    meetingRoom
FROM
    EventList_View");   
  PREPARE stmt FROM @SQLQuery;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END


call EventList_SP('TJU_741','','2,19',