无需删除级联即可删除MySQL数据

时间:2018-06-22 14:12:00

标签: mysql sql

我正在做一个在MySQL上模拟社交网络的项目。 这是我第一次也是第一次使用SQL。 为简化起见,我有一个表User,该表可以具有多个视频,这些视频具有该用户的外键。

在用户视频上也有评论,在用户视频上也有评级,所有这些都具有外键,我想您就知道了。

在项目pdf上,老师要求通过StoredProcedures删除数据,而不使用选项DELETE CASCADE

他们说要删除数据以确保参照完整性。 关于这可能是什么想法? 因为我必须删除或“使它们不可见,所以我猜”所有包含由参数提供的user_id的数据。如果可以的话,请帮忙:)

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:0)

如果您知道所有使用user_id链接在一起的表,只需为每个表编写一个DELETE查询,然后在删除用户时触发它们。确保在每个查询的末尾加上分号,以使它知道一个查询在哪里结束,下一个查询在哪里开始。

DELETE FROM video_table WHERE user_id=declared_user_id_param;
DELETE FROM comments_table WHERE user_id=declared_user_id_param;