gpt4 book ai didi

mysql - MySQL 或其他数据库中是否有内置的 cron 替代方案?

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:01 26 4
gpt4 key购买 nike

这是我要问的非常基本的问题。

想象一下用户表中的日期列。

Username --- RegistrationDate ----- Authority
user1 - (today's date) - 1
user2 - (yesterday's date) - 1

每个用户必须在 10 天后自动升级到 Authority = 2

我知道我可以通过使用 CRON 不断执行 PHP 来做到这一点,但是数据库的内置功能呢?

类似于:

//pseudo code
bind trigger on users.RegistrationDate, function() {
if(RegistrationDate >= RegistrationDate+10 days)
return updateAuthority(1)
}

关于此的一个重要事项是性能。它不应该检查循环中的每个触发器,应该通过将它们直接绑定(bind)到列上来按时触发任何应该触发的东西。

第二个重要的事情是,当我备份数据库时,它应该被导出。我不想重新创建它们。

我不是数据库专家,但我在这个项目中使用 MySQL,并且需要 MySQL 的类似功能。如果它不存在并且我必须继续使用 cron,请你告诉我 Oracle/MSSQL 或 PostgreSQL 中是否存在类似的功能以便我可以移植我的数据库? (哦,还有 MongoDB,它也可能是一个替代品。)

谢谢。

最佳答案

在 MySQL 中你有事件: http://dev.mysql.com/doc/refman/5.5/en/create-event.html

只需创建一个每天触发并更新权限的事件。

编辑:(回答下面的问题)

我确定向导会导出事件,但如果没有,您可以使用 mysqldump 程序(它在 bin 目录中)。您还可以使用 SHOW CREATE EVENT 命令导出单个事件:它返回重新创建事件所需的 SQL 命令。

关于mysql - MySQL 或其他数据库中是否有内置的 cron 替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16196274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com