DELIMITER $$;DROP TRIGGER `test`.`ttt`$$
create trigger `ttt` BEFORE INSERT on `test`
for each row BEGIN
#set @daytemp:=DAYOFWEEK(NEW.timestampNow);
select DAYOFWEEK(NEW.timestampNow) into @daytemp from test where id=new.id;
if @daytemp<7 then
set NEW.canshow=1;
end if;
END;
$$
DELIMITER ;$$
=========================================
使用mysql的触发器,原定就是有一个字段是timestamp类型,默认是Current_timestamp。在触发器中判断,如果新纪录的日期是周一到周五, set new.canshow=1;但是现在的问题是,用
set @daytemp:=DAYOFWEEK(NEW.timestampNow); 或是
select DAYOFWEEK(NEW.timestampNow) into @daytemp from test where id=new.id;
都取不到DAYOFWEEK(NEW.timestampNow)的值。但是在query 中单独执行 select DAYOFWEEK(NEW.timestampNow) from test;是可以的。请教各位如何解决,谢谢。
create trigger `ttt` BEFORE INSERT on `test`
for each row BEGIN
#set @daytemp:=DAYOFWEEK(NEW.timestampNow);
select DAYOFWEEK(NEW.timestampNow) into @daytemp from test where id=new.id;
if @daytemp<7 then
set NEW.canshow=1;
end if;
END;
$$
DELIMITER ;$$
=========================================
使用mysql的触发器,原定就是有一个字段是timestamp类型,默认是Current_timestamp。在触发器中判断,如果新纪录的日期是周一到周五, set new.canshow=1;但是现在的问题是,用
set @daytemp:=DAYOFWEEK(NEW.timestampNow); 或是
select DAYOFWEEK(NEW.timestampNow) into @daytemp from test where id=new.id;
都取不到DAYOFWEEK(NEW.timestampNow)的值。但是在query 中单独执行 select DAYOFWEEK(NEW.timestampNow) from test;是可以的。请教各位如何解决,谢谢。
for each row BEGIN
set @daytemp=DAYOFWEEK(CURRENT_TIMESTAMP()) ;
if @daytemp <7 then
set NEW.canshow=1;
end if;
END;