带有选择和更新查询的 MariaDB If 语句

时间:2021-07-08 13:30:58

标签: sql if-statement mariadb

我想从表中查询具有最新 dtRequestToLog 的行,以获取列 strUniqueID。将 strUniqueID 与 IF Statement 进行比较,如果它等于数字 X,则在同一行中更新 blnAcceptedToLog = 1

所以要使用我使用的最新 dtRequestToLog 获取行:

select strUniqueID from tblmainmonitor t where dtRequestToLog >= (now() - interval 30 minute ) AND idxBedrijf = 1 order by dtRequestToLog asc limit 1

这很好用。我有以下 if 语句也适用:

DELIMITER $
CREATE PROCEDURE pr()
BEGIN
    IF 3 = 3 THEN 
       SELECT 'TRUE';
    ELSE
       SELECT 'FALSE';
    END IF;
END $
DELIMITER ;
CALL pr;

所以我想使用第一个查询而不是 3 = 3,它的返回值将它与数字 x 进行比较,我从代码动态地放入查询;但是当我将查询放在“IF”之后时,它不起作用,也不用大括号。

那么如果该陈述为真;我想使用相同的发现行将 blnAcceptedLog 更新为 1;

我该怎么做?

或者我应该使用 UPDATE 查询 where ((subquery).strUniqueID == 1)?其中子查询是顶部描述的第一个查询。我该怎么写?

编辑:tblmainmonitor 的一些示例数据

idxMain|idxBedrijf|strUniqueId|dtLastLog            |dtRequestToLog      |blnAcceptedToLog
1               1   1          2021-07-08 10:00:00   2021-07-08 08:00:00    1
2               1   1                                2021-07-08 14:50:00    0
3               1   2                                2021-07-08 14:51:00    0

0 个答案:

没有答案