我的应用程序中有 4 个表:
- User
- usession
- upklist
- 项目共享
最后三个表包含一个名为session_id
.
在下面的代码中,括号中的部分用于获取所有session_id
值来自usession
用户“awpeople”的表。
问题是如何将此结果集读入数组并从所有三个表中删除session_id
位于数组结果中。
Code:
DELETE FROM usession,
upklist,
projshar
WHERE session_id = (SELECT session_id
FROM usession
WHERE delete_session_id IS NULL
AND user_id = (SELECT user_id
FROM users
WHERE REGEXP_LIKE(USER_NAME,
'awpeople', 'i')));
delete
一次只能处理一张表,因此您需要三个语句:
DELETE FROM upklist
WHERE session_id = (SELECT session_id
FROM usession
WHERE delete_session_id IS NULL
AND user_id = (SELECT user_id
FROM users
WHERE REGEXP_LIKE(USER_NAME,
'awpeople', 'i')));
DELETE FROM projshar
WHERE session_id = (SELECT session_id
FROM usession
WHERE delete_session_id IS NULL
AND user_id = (SELECT user_id
FROM users
WHERE REGEXP_LIKE(USER_NAME,
'awpeople', 'i')));
DELETE FROM usession
WHERE session_id = (SELECT session_id
FROM usession
WHERE delete_session_id IS NULL
AND user_id = (SELECT user_id
FROM users
WHERE REGEXP_LIKE(USER_NAME,
'awpeople', 'i')));
请注意,由于内部查询依赖于usersession
,你应该从中删除last.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)