id
,user_id
,book_id
。我需要一些脚本来监控订单表中的更改 - 如果出现某些订单,它会读取它们,'执行',并从订单表中删除。
我怎么能有效地做到这一点?我之前从未做过这样的事情 - 我想过一些PHP脚本会在一些时间间隔内执行(10-15秒 - 它必须很快)并且会读取订单表。但后来我认为我必须保留订单历史记录 - 还有第二个问题 - 我应该为订单历史记录创建第二个表格,还是只将“已完成”字段添加到订单表中?我一次问这两个问题是因为它们是核心化的 - 也许当我的订单表中包含已完成的订单时,我的脚本查询它将是无效的。我正在寻找最佳解决方案。
我使用MySQL 5.0数据库...
----------编辑
我不能使用触发器 - 当它们出现在订单表中时,我必须执行一些PHP脚本来处理订单!
答案 0 :(得分:2)
你需要一个触发器。这样的事情会起作用。
create trigger newOrderTrigger after insert on order_table for each row
//you order execution code goes here
见MySQL Trigger documentation。 我也发现这个tutorial很有帮助。
至于你的第二个问题,这取决于你的要求。如果您需要完整的可审计历史记录,则应该将更改复制到新表中。如果不这样做,添加order_status并将值从open更改为complete将会减少工作量。