我有一个mySQL数据库,我需要检查表中的最近一天,如果一天过去就调用一个过程。所以我尝试了这段代码:
DECLARE mDay DATE;
SELECT `date` INTO mDay
FROM TimeTable ORDER BY `date` DESC
LIMIT 1;
IF(mDay = NULL OR mDay != DATE(CURRENT_TIMESTAMP)) THEN
CALL UpdateTimeTable()
END IF;
(在我当前的测试用例中,TimeTable为空。)
但是程序永远不会被调用,所以我尝试将条件更改为:mDay = NULL OR mDay != NULL
,但它仍然没有被调用。然后我尝试mDay = DATE(CURRENT_TIMESTAMP) OR mDay != DATE(CURRENT_TIMESTAMP)
但它仍然没有被调用。
最后我将其更改为true
,然后调用该过程。
这里出了什么问题?
答案 0 :(得分:1)
这是因为mySQL使用IS NULL
和IS NOT NULL
来比较NULL,并且=使用其他所有内容。