php – 从3个表中删除MySQL

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 从3个表中删除MySQL脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下表,在我的数据库中有这些键:

预订
SESSION_ID

会议
SESSION_ID
COURSE_ID

课程
COURSE_ID

我想创建一个查询删除与单个课程相关的所有日期(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 = ?

脚本宝典总结

以上是脚本宝典为你收集整理的php – 从3个表中删除MySQL全部内容,希望文章能够帮你解决php – 从3个表中删除MySQL所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。