【发布时间】:2014-07-21 03:07:20
【问题描述】:
我有两张桌子
第一个是进程
第二个是medialist
我想插入一个新行来处理,但我需要一个以前用户未插入的 medialist.id。
从 user_id=648 的进程中选择 medialist_id -> 这将返回插入的行。
我希望将这些行从 medialist 表中排除,并获取一个随机的 medialist id 以将新行插入到 medialist 表中。
执行此操作的最佳成本效益方法是什么?
【问题讨论】:
我有两张桌子
第一个是进程
第二个是medialist
我想插入一个新行来处理,但我需要一个以前用户未插入的 medialist.id。
从 user_id=648 的进程中选择 medialist_id -> 这将返回插入的行。
我希望将这些行从 medialist 表中排除,并获取一个随机的 medialist id 以将新行插入到 medialist 表中。
执行此操作的最佳成本效益方法是什么?
【问题讨论】:
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
【讨论】: