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;是可以的。请教各位如何解决,谢谢。