如何从sqldb中的日期触发php服务器中的更改

bq8i3lrv  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(266)

我有一个电子商务网站(基于magento2),上面有需要在特定日期之间提供的产品。我已经在mysql数据库中保存了特定的开始和结束日期,但是现在需要在到达时间时触发产品的启用/禁用。如果不设置每秒运行一次的cron作业来编辑状态,如何在两者之间建立实时链接?

sauutmhj

sauutmhj1#

“我每秒钟都需要一个cron”对于一个mysql问题意味着您实际上需要一个 VIEW (或最终 TRIGGER 对于最重的情况)。
假设你有 product.startDate 以及 product.endDate 列,以及 product.isEnabled . 然后创建以下 VIEW :

CREATE VIEW `productView` AS SELECT 
    startDate AS startDate,
    endDate AS endDate, 
    (isEnabled AND NOW() BETWEEN startDate AND endDate) AS isEnabled
FROM product

用这个 VIEW 在你的代码里( SELECT p.isEnaled FROM productView ). 如果无法使用代码更新php,只需重命名表(例如 productTable )使用 product 作为视图的名称。

相关问题