php – 从3个表中删除MySQL
发布时间:2020-12-13 21:36:17 所属栏目:PHP教程 来源:网络整理
导读:我有以下表,在我的数据库中有这些键: 预订 SESSION_ID 会议 SESSION_ID COURSE_ID 课程 COURSE_ID 我想创建一个查询来删除与单个课程相关的所有日期(course_id).例如,如果我想删除course_id = 10,我希望删除任何session_id = 10的会话,此外还需要删除与这些
我有以下表,在我的数据库中有这些键:
预订 会议 课程 我想创建一个查询来删除与单个课程相关的所有日期(course_id).例如,如果我想删除course_id = 10,我希望删除任何session_id = 10的会话,此外还需要删除与这些会话相关的任何预订. 这可能吗?接近它的最佳方法是什么? (我用PHP写这个.) 任何帮助非常感谢! 解决方法
MySQL supports multi-table deletes:
DELETE FROM BOOKINGS USING BOOKINGS JOIN SESSIONS JOIN COURSES WHERE BOOKINGS.session_id = SESSIONS.session_id AND SESSIONS.course_id = COURSES.course_id AND COURSES.course_id = ? 另一种方法是使用stored procedure,并按正确的顺序处理删除: >预订 DELETE FROM BOOKINGS WHERE EXISTS(SELECT NULL FROM SESSIONS s WHERE s.session_id = session_id AND s.course_id = ?) >会话 DELETE FROM SESSIONS WHERE EXISTS(SELECT NULL FROM COURSES c WHERE c.course_id = course_id AND c.course_id = ?) >课程 DELETE FROM COURSES WHERE course_id = ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |