我应该使用sql请求检查外键是否存在,还是应该尝试在失败的情况下插入并捕获?

我可以检查我所引用的密钥是否存在。

我的问题更多是理论上的问题:对于每次插入,捕获异常与查询db相比要多一次。

例如,假设您有两个表,猫和人。 猫有一个引用人的外键。 在尝试插入猫之前,应该检查是否存在具有给定猫的所有者列的人,还是应该盲目插入并捕获失败的猫。

===============>>#1 票数:2

我应该使用sql请求检查外键是否存在,还是应该尝试在失败的情况下插入并捕获?

我可以检查我所引用的密钥是否存在。

我的问题更多是理论上的问题:对于每次插入,捕获异常与查询db相比要多一次。

例如,假设您有两个表,猫和人。 猫有一个引用人的外键。 在尝试插入猫之前,应该检查是否存在具有给定猫的所有者列的人,还是应该盲目插入并捕获失败的猫。

===============>>#2 票数:0

我应该使用sql请求检查外键是否存在,还是应该尝试在失败的情况下插入并捕获?

我可以检查我所引用的密钥是否存在。

我的问题更多是理论上的问题:对于每次插入,捕获异常与查询db相比要多一次。

例如,假设您有两个表,猫和人。 猫有一个引用人的外键。 在尝试插入猫之前,应该检查是否存在具有给定猫的所有者列的人,还是应该盲目插入并捕获失败的猫。

  ask by interlude translate from so

未解决问题?本站智能推荐:

2回复

光滑-带有未知外键约束的删除表

我有一个应用程序,可以根据需要在格式更改时创建其表。 当表没有通过简单的功能测试时,它们将被删除并重新创建。 到目前为止,这一直很好,但是现在我更改了一些约束:我更改了主键并添加了外键。 现在,删除失败,但出现以下异常: drop语句如下: 问题在于此drop语句对于所
1回复

如何在滑动式上使用提升的嵌入式语法插入具有外键的记录

我想插入一个包含外键的新记录。 例如,将新记录插入bar,新记录的ID将由表foos的查询结果找到。 这是一个代码示例: 我遇到了编译错误。 外键的类型为Column [Int],但BarRecord id类型为Int。 有没有什么好的方法可以获取Int值? 还是有一种更优
1回复

Slick:Codegen外键引用

我使用光滑的2.x的codegen功能从数据库模式生成Scala模型。 但是,是否可以遍历外键约束以生成相关模型,例如,如果我有此模式 我从光滑中得到以下模型: 但是,我真正想要的是: 甚至更好: 无论如何都要覆盖光滑的codegen来做到这一点?
1回复

使用外键字段在Slick中过滤

是否可以在Slick where或filter语句中使用外键字段? 类似于(其中user字段是User为其映射投影的Table的外键)(不会编译): 还是应该明确使用外键?
1回复

在Scala-Slick中键入外键的投影

我正在使用Scala,而且是Play和Slick的新手。 我开始阻止一个简单的数据库结构,我不确定处理外键和投影的正确方法。 在页面底部的示例中,它目前无法编译,因为无法直接提取ForeignKey,因此将查询结果提升到我的类型(这基本上是sans方法和其他构造函数)的正确方法是什么:
1回复

如何使用Slick的映射表与外键?

我正在努力使用Slick提升的嵌入和映射表格。 API对我来说很奇怪,也许只是因为它的构造方式对我来说是不熟悉的。 我想构建一个Task / Todo-List。 有两个实体: 任务:每个任务都有一个对下一个任务的可选引用。 这样就构建了一个链表。 目的是用户可以按其优先
1回复

用新的外键ID复制数据的方法

在多租户系统中,有一个基本租户,它说是tenantId = 1,其中有一组填充有租户1数据的表。 每次创建新租户时,系统首先将数据从基本租户复制到新租户(正在创建的租户)中。 说新的租户ID = 2。 租户ID = 1的表如说 说每个租户都可以直接使用“ AdminRole”-
1回复

对两个外键进行平滑查询

我有以下查询可让我了解一个人的所有祖先和后代。 那么,目前只有两种祖先或后代。 族谱表如下所示: 上面的查询为我提供了所有后代,因为它在后代外键上是flatMaps 现在,我想一起检索所有祖先和后代! Flatmap使我在这里遇到麻烦。 我怎样才能在子代FK和an
2回复

如何在Slick中定义可选外键?

我有这样一张桌子: 我的案例类在哪里: 你注意到geoLocation是一个可选的外键.... 我在外键定义中找不到任何描述这个“可选”的方法。 我尝试过: 但我收到: 引起:scala.slick.SlickException:无法在外键约束中使用
1回复

如何在Slick的直接嵌入中定义主键和外键?

我正在与Slick一起玩,并希望构建一个带有几个表的示例应用程序。 这些表当然在某些方面相互关联。 我查看了文档,但没有找到任何相关信息: http : //slick.typesafe.com/doc/2.0.0-M3/direct-embedding.html#row-class-and