我想要完成的是: 我有table1,其中包含user_id,group_id(设置了默认值的int)和expire_date.Also table2,其中包含一个字段user_group_id,用作table1的group_id的外键。
当达到日期时,我想将group_id和user_group_id的值更改为默认值。
不幸的是,我似乎无法解决这个问题,因为我是mysql的新手。
Table1最多包含500行。可能每次运行时不会使用该事件更新超过4-5行。
欢迎使用自动替代解决方案。 mysql 5.2.7 php 5.3.8 CentOs 6
提前感谢任何回复!
答案 0 :(得分:0)
你需要一个像
这样的陈述update table1 set group_id=<default> where expire_date() > now();
您可以从cronjob或触发器或mysql事件(http://dev.mysql.com/doc/refman/5.1/en/events.html)
运行此更新查询答案 1 :(得分:0)
用事件做了。
CREATE EVENT event_name2
ON SCHEDULE
EVERY 24 HOUR
DO
UPDATE test.employees
SET `group`=DEFAULT
WHERE expire_date <= now( )
首先我想使用触发器,但只有当数据库中的某些内容发生变化时才会出现这种情况。这就是这种情况。