这是我要问的非常基本的问题。
想象一下用户表中的日期列。
Username --- RegistrationDate ----- Authority
user1 - (today's date) - 1
user2 - (yesterday's date) - 1
每个用户必须Authority = 2
在 10 天后自动升级。
我知道我可以通过使用 CRON 不断执行 PHP 来做到这一点,但是数据库的内置功能呢?
就像是:
//pseudo code
bind trigger on users.RegistrationDate, function() {
if(RegistrationDate >= RegistrationDate+10 days)
return updateAuthority(1)
}
一个重要的事情是性能。它不应该检查循环中的每个触发器,应该通过将它们直接绑定在列上来及时触发任何应该触发的内容。
第二个重要的事情是,它应该在我备份数据库时导出。我不想重新创建它们。
我不是数据库方面的专家,但我在这个项目中使用 MySQL,并且需要 MySQL 的类似功能。如果它不存在并且我必须继续使用 cron,请告诉我 Oracle/MSSQL 或 PostgreSQL 中是否存在类似的功能,以便我可以移植我的数据库?(哦,还有 MongoDB,它也可能是一个替代方案。)
谢谢你。