我有一个包含大约 17 个字段的表。我需要在此表中执行频繁更新。但问题是每次我可能只更新几个字段。在这种情况下编写更新查询的最佳方法是什么?我正在寻找一个选项,其中值只有在不为 null 时才会更新。
例如,我在数据库中有四个字段 Say A、B、C、D。 用户更新 say D 的值。所有其他值保持不变。所以我想要一个更新查询,它只更新 D 的值,保持其他值不变。 因此,如果我将 a、b 和 c 设置为 null,并将 d 设置为用户提供的值,我想编写一个更新查询,它只将 d 的值更新为 a、b 和 c 为 null。 这是可以实现的吗?
我正在使用 SQLite 数据库。
有人可以给它点亮吗?
最佳答案
在不了解您的数据库的情况下很难具体说明。在 SQL Server 中,语法类似于 ...
UPDATE MyTable
SET
Field1 = IsNull(@Field1, Field1),
Field2 = IsNull(@Field2, Field2),
Field3 = IsNull(@Field3, Field3)
WHERE
<your criteria here>
编辑
由于您指定了 SQLLite ...将我的 IsNull
函数替换为 COALESCE()
或者查看 IfNull
函数。
关于如果值不为空,则更新数据库的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099570/