Mysql 检查if语句触发前24小时是否重复列值

Mysql 检查if语句触发前24小时是否重复列值,mysql,sql,Mysql,Sql,所以我要做的是做一个IF语句,检查列值是否在24小时前重复,如果是这样的话,条件就会触发。因此,我希望为reportLastIp专栏完成以下内容: if new.reportLastIp = (24h before value check condition here) then SET new.report_balance=0 and new.referperId=0 我怎样才能让它工作呢? 提前谢谢你。我猜你想要24个或更大的,如果这是错误的,那么就把23变成24 if ADDTIME(n

所以我要做的是做一个IF语句,检查列值是否在24小时前重复,如果是这样的话,条件就会触发。因此,我希望为reportLastIp专栏完成以下内容:

if new.reportLastIp = (24h before value check condition here)
then SET new.report_balance=0 and new.referperId=0
我怎样才能让它工作呢?
提前谢谢你。

我猜你想要24个或更大的,如果这是错误的,那么就把23变成24

if ADDTIME(new.reportLastIp,'24:00:00') < GETDATE()
then SET new.report_balance=0 and new.referperId=0
if ADDTIME(new.reportLastIp,'24:00:00')
我将这样写:

IF new.reportLastIp < dateadd(GETDATE(), -1) THEN
    SET new.report_balance = 0;
    SET new.referperId = 0;
END IF
如果new.reportLastIp
在MySQL中,
if
语句只存在于编程块的上下文中。这是用于存储过程、函数还是触发器?如果没有,你能解释一下你真正想要做什么吗?这是一个触发器,正如我在titleHi中所说,我得到了错误#1582:调用本机函数“DATEDIFF”时参数计数不正确。这个函数是sql server,我的错。将mysql放在1分钟内,就可以了,但是这个函数正在检查相同的值吗?它给了我一个错误,我正在寻找一个函数,该函数检查new.reportLastIp的相同值是否在24小时前就已经设置好了,如果有一个值与新值匹配,那么它会触发conditionah ok,然后您需要提供一个值列和一个时间戳。把遗漏的那一个放在你的问题里,我来解决。