Please help me with this MySQL query. I've been on it for long enough. Perhaps it needs a fresh pair of eyes.
Two tables: locks and sessions
locks
--------------
id session_id
--------------
1 sajf4$Jf9422jd
2 2jf*4j2okg9092
3 J8j4j4ffss93o2
------------------
sessions
-------------------------
id user_id
-------------------------
sajf4$Jf9422jd 14
J8j4j4ffss93o2 14
2jf*4j2okg9092 21
-------------------------
I want to delete all rows in locks where user_id of session = 14
DELETE FROM locks
WHERE session_id IN (SELECT id FROM sessions WHERE user_id = 14)
DELETE FROM locks
WHERE session_id
=(SELECT id
FROM sessions
WHERE user_id
= 14);
从session_id所在的锁中删除(select_id来自其中user_id = 14的会话)
Another way without a subquery:
delete from locks using locks join sessions on sessions.id=locks.session_id where sessions.user_id=14
DELETE locks, sessions FROM locks INNER JOIN sessions WHERE locks.session_id=sessions.id;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.