mysql中触发器中赋值的问题
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;是可以的。
请教各位如何解决,谢谢。
直接取NOW中的星期不行?BEFORE中,字段还没有值
谢谢上面的两位,解决了。
相关问答:
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
mysql数据库的编码格式是utf8
在c++程序中使用C API直接连接mysql数据库,把中文保存到mysql数据库中,中午变成乱码
使用mysql的load命令导入文本文件,无论文本文件是ANSI还是utf8编码,都是乱码
请问上面两个问 ......
本人想知道MySql怎么在数据安装的时候就能自动去生成一些默认的用户和权限呢(用户:Client,密码:12345)?
比如是不是需要写自动安装脚本阿?等等,谢谢!
MySQL的标准安装,或者非安装版本中不会帮你创建这些 ......
刚刚接触MySQL,不知道该如何去查看数据,插入数据,创建数据库、表,用哪为前辈能指教一二?
MySQL 5.1参考手册
引用
兄弟你会结贴吗?
mysql 参考手册
baidu
MySQL官方文档 http://dev.mysql.com/doc ......