orders
基本上,如果日期早于 x 金额,我将更新我的表格并修改状态。我想要做的是获取受影响的行并在我的表中插入一行events
来记录事件,我的事件表通过一个order_id
应该与表中相同的字段来order_id
识别它的顺序orders
。
所以归结为一些代码。
UPDATE `orders` SET `status`='7' WHERE `date` < (UNIX_TIMESTAMP(NOW()) - 172800) AND `status` = '2';
此查询更新的行必须经过一些循环才能将每个受影响行的行插入到我的events
表中。我必须如何order_id
在此查询中使用:
INSERT INTO `orders_events` (`order_id`, `event_id`, `user`, `date`) VALUES (12345678, 6, "Admin", UNIX_TIMESTAMP(now()))
我想首先select
将订单和insert
它们放入 atemporary table
和modify
它们那里,然后再次它们以获取select
行 ID 和. 但是我在这里遇到了一个问题,因为我不知道如何使用 mysql 中的每个循环来获取行和事件。insert
event
temporary table
insert
在存储过程/mysql计划事件中执行此操作的正确和最有效的方法是什么?
另外我想补充一点,锁定表格是不行的,因为它每分钟都会被多个用户更新。