我正在尝试使用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中执行此操作?
胜者。