Php MySQL更新列并从同一表中的另一列返回值
任务当前正在CRON作业中运行,以从Php MySQL更新列并从同一表中的另一列返回值,php,mysql,Php,Mysql,任务当前正在CRON作业中运行,以从reset\u pw\u日志中选择code\u id和created\u date,其中状态='a'ctive 然后我逐步遍历结果并设置一个名为$pw\u key\u code=code\u id的变量 然后确定创建日期是否超过60分钟。如果是,我更新reset\u pw\u log并设置status='E'xpiredWHEREcode\u id=$pw\u key\u code和status='A' 这是目前工作的完美,因为它是 我想做的是,在我根据cod
reset\u pw\u日志
中选择code\u id
和created\u date
,其中状态='a'ctive
然后我逐步遍历结果并设置一个名为$pw\u key\u code=code\u id
的变量
然后确定创建日期是否超过60分钟。如果是,我更新reset\u pw\u log
并设置status='E'xpired
WHEREcode\u id=$pw\u key\u code
和status='A'
这是目前工作的完美,因为它是
我想做的是,在我根据code\u id
将记录的状态更新为'E'xpired
之后,我想返回同一记录的mem\u id
列的值,这样我就可以将它作为键插入到另一个表中
希望这足够清楚
这是更新。。。有没有办法编辑它以从该记录返回mem\u id
$sql_update = "
UPDATE reset_pw_log
SET status = 'E'
WHERE code_id = '".$pw_key_code."'
AND status = 'A'
";
如果它不一定是花哨的,那么您可以按顺序进行操作,这将很容易阅读和维护:
$sql_update = " UPDATE reset_pw_log SET status = 'E' WHERE code_id = '".$pw_key_code."' AND status = 'A' ";
$new_id = "SELECT mem_id FROM reset_pw_log WHERE code_id = '".$pw_key_code."' AND status = 'E'"
-- do insert with new_id
嗨,奥托,谢谢你的回复。虽然这将完成我最终需要完成的任务,我希望有人能告诉我,是否可以在一个更新查询中完成,该查询也会返回所需的数据作为响应。也许这会有所帮助:否则,您至少可以使用begin transaction/commit在一个事务中进行更新和选择。再次感谢otto的跟进。。。我决定,基于我所做的所有研究,尽管显然有人认为我没有做过任何研究,但我决定继续第二个问题。事实上,我已经实现并测试了它。。。它工作得很好。。。我问问题是因为我想知道是否有人提出了我还没有看到的解决方案。。。再次感谢。。。我猜你在这个上面打上了绿色的复选标记。