MySQL UPDATE和SELECT在一次通过

我有一个MySQL表的任务要执行,每一行都有一个任务的参数。
有很多工作应用程序(可能在不同的机器上),在循环中执行任务。
应用程序使用MySQL的本机C API访问数据库。

为了拥有一项任务,应用程序会执行以下操作:

>生成全局唯一的ID(为简单起见,假设它是一个数字)
> UPDATE任务
SET guid =%d
WHERE guid = 0限制1
> SELECT参数
FROM任务
WHERE guid =%d
>如果最后一个查询返回一行,那么我们拥有它并运行参数

有没有办法在单次调用服务器时实现相同的效果(即“自己”一行并获取其参数)?

尝试这样

UPDATE `lastid` SET `idnum` =  (SELECT `id` FROM `history` ORDER BY `id` DESC LIMIT 1);

以上代码为我工作

http://stackoverflow.com/questions/562693/mysql-update-and-select-in-one-pass

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:MySQL UPDATE和SELECT在一次通过