当前位置: 首页 > 面试题库 >

如果值不为null的SQL查询更新数据库?

郝哲茂
2023-03-14
问题内容

我有一张桌子,大约有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。 请找到查询 输出显示properly.currently我得到firstname和lastname。但对于某些条目,名和姓为空。我需要修改查询,以便我可以打印列的非空值if(last_id!=0和date(活动)=date(start_date),CONCAT(ag.firstname ,' ‘, ag.lastname ) ,’') 相同的查询,不包括名和姓的空条目。我尝试了

  • 问题内容: 当用户最初单击按钮时,将运行查询,并将每一行放入JPanel中并添加到显示中,以供用户查看。哪个工作正常。 我的问题是,我希望用户能够根据它们提供的值(通过JTextField)过滤这些结果,并且我希望显示的记录随着JTextField值的更改而更新。每次更改JTextField时都会形成并执行我的查询,但是我找不到更新显示记录的方法。 任何帮助,将不胜感激。 该代码花了一些时间进行编

  • 只有当新值不为null时,我才会更新集合设置值。我有这样一个代码: 有没有一个简单的方法可以做到这一点? 另一种方法:如果我可以从我获取数据的表单的占位符中获取值,我可以解决这个问题...但是这可能吗?

  • 问题内容: 我有一个包含三列的表: 还有另一个表,其中包含2列。的列与的相同。 我需要一个查询,它将更新带有的列。 我可以通过检查ID并执行更新语句来通过循环来实现。如何才能通过查询完成? 问题答案: 怎么样

  • 每当我的primaryGrpId为null时,以下本机查询就会因SQLGrammerException而失败,因为它需要数字。Andy知道如何在JPA中使用本机查询将参数值设置为NULL。数据库是ORACLE。 由以下原因引起:java.sql.SQLSynaxErrorException: ORA-00932:不一致的数据类型:预期的数字得到了二进制 我所有的DAO方法都只是声明的,没有提供任何