我的表all_usernames
包含srno
列和username
列。 username
是唯一的,srno
会自动递增。
另一个表blockers
包含srno_blocker
列和srno_blocked
列。它会存储阻止其他用户srno
)的srno_blocker
个用户(srno_blocked
)。
问题:
我阻止srno
阻止者和username
用户。我需要编写查询以相应地在blockers
中插入记录。
为此,一个查询获得srno
username
(用户被阻止),然后另一个查询在blockers
中插入记录是一种解决方案。但它需要发出两个查询。
如何最有效地完成此操作(在使用连接的单个查询中)?
答案 0 :(得分:0)
INSERT INTO blockers (srno_blocker, srno_blocked)
SELECT <blocker_srno>, u.srno
FROM all_usernames As u WHERE username = <blocker_username>
当然适当的参数化取决于你的语言/ sql lib