MYSQL存储过程,if语句,ifnull

时间:2018-05-03 14:53:42

标签: mysql if-statement procedure ifnull

我正在尝试使用mysql创建存储过程。这个想法不是检查第一个请求是否为空,如果不是,则执行此操作,如果第一个请求为空则执行第二个请求。

我的代码,简化版。

DELIMITER //

CREATE PROCEDURE HFTester(idTest INT)
BEGIN 
    IF (SELECT * FROM `foo` WHERE id = idTest) != NULL
    THEN (SELECT * FROM `foo` WHERE id = idTest;)
    ELSE (SELECT * FROM `bar` WHERE id = idTest;)
    END IF;
END //

DELIMITER;  

程序被保存,但是当我执行它时,我得到一个空的结果。

所以我搜索了互联网,发现了ifnull

然后我尝试将它应用于我的案例:

DELIMITER //

CREATE PROCEDURE HFTester(idFiche INT)
BEGIN 
    SELECT IFNULL(
            (SELECT * FROM `foo` WHERE id = idTest;),
            (SELECT * FROM `bar` WHERE id = idTest;)
        );
END //
DELIMITER;

我很确定IFNULL无法正常工作,但有没有办法在MySQL中执行此操作,或者我是否强制在php中执行此操作?

胜者。

0 个答案:

没有答案