缺失記錄我有兩個表users
(ID,用戶名等)和user_contacts
(ID,用戶ID,使用ContactID,等...)。插入從表
考慮到我有一個user
瓦特/ 84的ID,這將是爲了最有效的查詢有插入user_contacts
到user
84瓦特關聯丟失記錄/所有其他用戶?
缺失記錄我有兩個表users
(ID,用戶名等)和user_contacts
(ID,用戶ID,使用ContactID,等...)。插入從表
考慮到我有一個user
瓦特/ 84的ID,這將是爲了最有效的查詢有插入user_contacts
到user
84瓦特關聯丟失記錄/所有其他用戶?
鑑於最近的評論,那麼這應該工作:
insert into user_contacts (userid, contactid)
select u.id, 84
from users u
left join user_contacts uc on u.id = uc.userid and uc.contactid = 84
where uc.id is null
這將插入一行到user_contacts表中的每個用戶誰目前還沒有一排的ContactID 84.一定要指定你的列正確。可以使用NOT IN
或NOT EXISTS
。例如,
insert into user_contacts (userid, contactid)
select u.id, 84
from users u
where u.id not in (
select userid
from user_contacts
where contactid = 84)
謝謝!完美的作品,只需要約0.15秒完成 –
@KyleDecot - np,很高興我能幫上忙! – sgeddes
此問題尚不清楚。你的意思是你想把每個其他用戶添加爲用戶'84'的聯繫人嗎? – plalx
@plalx正確。我希望用戶84被列爲所有用戶的聯繫人 –