MySQL查询 - 未插入id以将新行插入表中

时间:2014-05-31 12:32:51

标签: mysql sql

我有两张桌子

第一个是流程

process table

,第二个是medialist

medialist table

我想插入一个新行进行处理,但我需要一个以前没有被用户插入的medialist.id。

从进程中选择medialist_id,其中user_id = 648 - >这将返回插入的行。

我希望这些行从medialist表中排除,并获得一个随机的medialist id以将新行插入medialist表。

最有效的方法是什么?

1 个答案:

答案 0 :(得分:1)

INSERT INTO process (user_id,ads_id,medialist_id,`status`) SELECT 'your_uid','your_ads_id',id,'your_status' FROM medialist WHERE id NOT IN (SELECT medialist_id FROM process) ORDER BY RAND() LIMIT 1