2012-01-11 4 views
0

MySQL에서 저장 프로 시저를 실행할 때 '피연산자에 1 열이 있어야합니다.'라는 오류 메시지가 나타납니다.오류 코드 : 1241 피연산자에 1 개의 열이 있어야합니다. MySQL

DELIMITER $$ 

USE `test`$$ 

DROP PROCEDURE IF EXISTS `test_proc`$$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc`(IN inputMsisdn BIGINT) 
BEGIN 

    IF(CHAR_LENGTH(inputMsisdn)=12, SUBSTR(3,inputMsisdn), inputMsisdn) 
    THEN 
     SELECT rmnum FROM testbase WHERE msisdn=inputMsisdn; 
    END IF; 
    END$$ 

DELIMITER ; 

당신이 말해 주시겠습니까 무슨 일이 절차에서 문제 :

저장 프로 시저가됩니다 다음은?

답변

0

나는 오류가이 라인

IF(CHAR_LENGTH(inputMsisdn)=12, SUBSTR(3,inputMsisdn), inputMsisdn)에 생각하지만 난 :)

0
IF(CHAR_LENGTH(inputMsisdn)=12, SUBSTR(3,inputMsisdn), inputMsisdn) 

는 IF의 조건이 하나의 스칼라해야하는 이유를 알려 couldnt는하지만, 노력, 그래서 당신은 쉼표를 이것을 값 목록으로 취급합니다. 아마도 쉼표를 사용하는 곳에서 AND을 사용하셨습니까?

관련 문제