2012-01-11 99 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條件必須是一個標,但你必須逗號所以它的努力將其視爲價值清單。也許你的意思是使用AND你有逗號?

相關問題