微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何编写查询以删除行程?

如何解决如何编写查询以删除行程?

查询困难。我是sql的新手,因此尝试提出更好的查询删除行程。

有人知道如何在一个查询中简化操作吗?

谢谢

解决方法

如果您要在一个语句中对所有表执行删除操作,并且碰巧使用了支持CASCADE的SQL引擎,那么您可能很幸运。

从您的示例查询中发现,所有表共享一个链接的PK \ FK关系。

  • 通过checkpoint_id的地点
  • 通过day_id的检查点
  • trip_id中的天数
  • Trips(在顶部)

我的推断是,TRIP是链条的顶端。如果您专门定义了PK \ FK关系“ CONSTRAINT”,这对于良好的数据库设计是应该的,那么在每个表上,都可以使用选项CASCADE更改约束。完成此操作后,只需简单地从行中删除一行,即可通过定义的关系自动删除下面的所有其他行。

换句话说,有了CASCADE和支持它的SQL ENGINE,您只需发出最后一个delete语句,然后隐含其余语句即可。

DELETE FROM trips WHERE id = 27

在此处检查table constraint选项。注意CASCADE的定义。 Similar question,并在此处进行说明。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。