Php MySQL更新列并从同一表中的另一列返回值

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

任务当前正在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'xpired
WHERE
code\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的跟进。。。我决定,基于我所做的所有研究,尽管显然有人认为我没有做过任何研究,但我决定继续第二个问题。事实上,我已经实现并测试了它。。。它工作得很好。。。我问问题是因为我想知道是否有人提出了我还没有看到的解决方案。。。再次感谢。。。我猜你在这个上面打上了绿色的复选标记。