【问题标题】:Slick 3 Updates with Optional Columns带有可选列的 Slick 3 更新
【发布时间】:2015-10-02 09:41:10
【问题描述】:

使用 Slick 3,我想根据用户提供的属性更新我的行。说,我有 2 个属性电子邮件和名称。如果提供了电子邮件和姓名,我将更新数据库中的两个属性。如果提供了其中一个,我只会更新提供的一个,而另一个保持不变。

我在这里找到了我想要的,

Conditonally UPDATE fields with Slick String interpolation

但我不想直接操作查询字符串。这是唯一的方法吗?我更喜欢使用filterupdate 方法。谢谢

【问题讨论】:

    标签: slick-3.0


    【解决方案1】:

    我无法足够快地找到答案,所以我让步了。我使用多个更新配置而不是通用的组合更新。这很糟糕,因为配置的数量取决于参数变量数量的 2 次方。它会变得笨拙并爆炸。幸运的是,目前我有 2 个参数需要管理。

    【讨论】:

      【解决方案2】:

      一种可能的解决方法是首先获取记录,更新其内存中的字段,然后将其传递给 Slick update。它将为所有字段生成一个 SQL UPDATE。

      请注意,它应该在事务中完成,并且可能具有不同的语义,具体取决于您的事务隔离级别。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多