精华内容
参与话题
问答
  • 数据库里的表T1结构如下: ID 名称 合计 A1 A2 …… N 1 测试1 1 26 …… 2 测试2 21 …… ... 现在我想用Update更新合计字段的Update T1 SET 合计=A1+A2+ …… N 如果字段A1到N都有,...

    数据库里的表T1结构如下:  
      ID 名称 合计 A1 A2 ……   N  
      1    测试1    1 26 ……  
      2    测试2                       21     ……  
      ...  
        
      现在我想用Update更新合计字段的值:Update   T1   SET   合计=A1+A2+   ……   N  
      如果字段A1到N都有值,则合计能够更新,但象ID为2时,A1字段的值为NULL,就不行了。   
        

    ---------------------------------------
      
      Access:  
        
      Update   T1   SET   合计=nz(A1,0)+nz(A2,0)+   ……   nz(N,0)  
        
        
      SQL   Server:  
        
      update   t1   set   合计=isnull(a1,0)+isnull(a2,0)   +   ......   +   isnull(N,0)  
      

      oracle   : 
      update   t1   set   合计=nvl(a1,0)+nvl(a2,0)   +   ......   +   nvl(N,0)

     

    如果是文本就将值置为空就OK了

    转载于:https://www.cnblogs.com/hailuo/archive/2009/11/27/1612012.html

    展开全文
  • 前俩月在项目里写了个基于hibernate的... 这两天另外一个功能需要用到提交前的记录,结果发现event.getOldState()有时候获得值为null,有时候不是null。 于是有点晕,网上搜了一下,的确也有很多这个情况,但是...
    前俩月在项目里写了个基于hibernate的监听事件,然后往自定义的审计表里插数据的功能。因为之前不需要记录修改前的数据,所以event.getOldState()这个方法一直没用过。

    这两天另外一个功能需要用到提交前的记录,结果发现event.getOldState()有时候获得值为null,有时候不是null。

    于是有点晕,网上搜了一下,的确也有很多这个情况,但是都没有说原因是什么,有人说用了merge()就有值了,我实际测试完也的确是这样。但是为什么呢?


    查问题办法就是跟源代码。

    因为我们公司目前在用东软的框架(吐槽一下,还是hibernate3),所以是3.2.3的源码。如果是hibernate4的话,估计应该差不多。另外hibernate4的话,Hibernate Envers这个东西应该很成熟了。

    于是打断点,跟踪源码。 DefaultSaveOrUpdateEventListener类中performUpdate方法内

    source.getPersistenceContext().addEntity(
    entity,
    Status.MANAGED,
    null, //cachedState,
    key,
    persister.getVersion( entity, source.getEntityMode() ),
    LockMode.NONE,
    true,
    persister,
    false,
    true
    );


    可见第三个参数为null,即我们获得的数值也为空。

    并且在方法内有注释说明:// this is a transient object with existing persistent state not loaded by the session.

    至此,原因很明显了,我们保存的对象是一个瞬时态的obj,hibernate不是从数据库里把这个对象抓取出来的,是前台框架直接new出来的。

    所以前面查到有人说merge之后好用。

    结论就是:[b]getOldState()如果要有值,那么一定要在代码中保存持久态的对象。[/b]
    展开全文
  • <p>I am trying to make it so that a specific value can only be set once, by making it so that i can only be updated or set if it is equal to null. For some reason, the ...
  • 结果报错,提示:SQL错误[1407]: ORA-01407: 无法更新,("B"."VALUE")为NULL 我考虑了下,应该是表b的第三行在表a中没有找到,会赋给表b的第三行一个NULL,和约束冲突了。我想要的效果是第三行既然在表a中没找到,...
  • if (!string.IsNullOrEmpty(yt_time_limit_1)) { entity["yt_time_limit_1"] = Convert.ToDecimal(yt_time_limit_1); } else ...
     if (!string.IsNullOrEmpty(yt_time_limit_1))
                    {
                        entity["yt_time_limit_1"] = Convert.ToDecimal(yt_time_limit_1);
                    }
                    else
                    {
                        entity["yt_time_limit_1"] = "null";
                    }
    
    cd.UpdateFaultComponent(entity);
     public bool UpdateFaultComponent(Entity entity)
            {
    
                StringBuilder strSql = new StringBuilder();
                strSql.Append("update yt_fault_component set ");
                strSql.Append("yt_name='" + entity["yt_name"] + "',");
                strSql.Append("yt_fault_assembly='" + ((EntityReference)entity["yt_fault_assembly"]).Id + "',");
                           strSql.Append("yt_distance_7=" + entity["yt_distance_7"] + "");
                strSql.Append("  where yt_code='" + entity["yt_code"] + "'");
    
                int rows = Convert.ToInt32(SqlHelper.SQLExecuteScalar(strSql.ToString(), sqlcon));
                return rows > 0 ? true : false;
            }
    

      这里如果不用crm标准//crmservice.Update(entity);标准写法null值正常,自定义更新方法拼接sql,更新的话decimal是不允许为空的,但是业务提出不能为空,得为null,这就出问题了,如果直接赋值null entiity传过去会是"",update语句就会报错,这个问题搞了我半天,
    如果直接赋值0也没那么多事,但是必须null,解决办法就是这样,赋值“null”就可以了。

    转载于:https://www.cnblogs.com/zhaojingwei/p/4691535.html

    展开全文
  • SQL Server UPDATE NULL值遇到的坑

    千次阅读 2019-04-26 10:25:02
    表设计结构( num字段 本应设置NULL,默认值0) 此时如果执行 UPDATE testNUM SET num= num + 11 WHERE id=2 则执行反馈 但表中字段仍旧未改变 当然,修改下相关字段设计:非NULL,默认0 即可 ...

    表设计结构( num字段 本应设置为非NULL,默认值为0)
    在这里插入图片描述
    此时如果执行
    UPDATE testNUM SET num= num + 11 WHERE id=2

    则执行反馈为
    在这里插入图片描述
    但表中字段值仍旧未改变
    在这里插入图片描述


    当然,修改下相关字段设计:非NULL,默认为0 即可

    展开全文
  • <pre><code>SELECT nfc_film.title, nfc_film.film_id, nfc_film.description, nfc_film.release_year, nfc_film.rating, nfc_film.last_update, nfc_category.name FROM nfc_film JOIN nfc_film_category ON ...
  • * 如果barCode字段值为null则不处理 * 如果barCode字段值不为null则在原本值的前面拼接 del: * @param dealer * @return */ @Modifying @Transactional @Query("update Dealer d set...
  • 122.硬盘容量与标称不符 123.解决硬盘“逻辑锁” 124.修复无法启动的硬盘分区 125.Fdisk不能识别大硬盘 126.主板不识别大硬盘 127.意外停电导致分区表错误 128.恢复硬盘分区表 129.硬盘主引导记录被破坏 130.主...
  • MySQL命令大全

    2018-01-15 11:19:17
    7、修改表中数据:update 表名 set 字段=新,…where 条件 mysql> update MyClass set name=’Mary’where id=1; 7、在表中增加字段: 命令:alter table 表名 add字段 类型 其他; 例如:在表MyClass中添加了...
  • ora-01407 无法更新 为null

    千次阅读 2020-02-28 14:17:50
    在做一次批量更新时候,我预想的应该是一条...UPDATE chuyjzd jzd SET jzd.fenl = (SELECT sf.fenl FROM sfxm sf WHERE sf.bianh = jzd.bianh) 将一个表中的某一列更新成另个表的字段,通过 bianh关联 而且查询...
  • 在表中新增了一些记录,但某些字段的值为Null,需要在同表中字段值不为空的记录里面去取得值。 结构如下 表名:MyTable 字段:ID, NameCn, NameEn 由于新增了一些记录,只有NameEn有值,NameCn为Null,需要...
  • MySQL更新一个值为null的字段

    万次阅读 2015-04-28 17:04:35
    MySQL更新一个值为null的字段 mysql &gt; desc `table` +-------+ |column | +-------+ | NULL| +-------+ 给column字段+10 mysql &gt; update `table` set `column`+10 +-------+ |column | +------...
  • 这二有二个方法:1、用SQL语句,这个方法大家都知,哈哈。。update set a=null where id=?2、直接在结果集中改。一下子不知道怎么改吧,哈哈,要...由于这个我查了二次,老忘所以记一下,ctrl+0,这样就可改为NULL
  • 因此在做字段相加时,要加IsNull()判断,否则为Null值时,无法进行相加;   例如: Update Member set StockNum = StockNum + 1 (错误的写法)   这样写是错误的, 应该为: Update Member set StockNum...
  • <p>Value changed to null in ajax after updating the shipping city value from text field. I don't known what is the problem.. please help me Friends. <p>my php code:</p> <pre><code> public function ...
  • =null"> and update_time <![CDATA[ >= ]]> #{qo.startTime,jdbcType=VARCHAR} </if> <if test="qo.endTime !='' and qo.endTime !=null"> and update_tim.
  • oracle中null update的影响。

    千次阅读 2016-10-27 12:56:02
    update t set t.a = t.a + t.b; 上面这个sql,如果a的 值为 1,b的值是 null,执行上的sql后,a的值会变为空。oracle的NULL值处处处有坑,需要随时注意啊。
  • properties文件第一行获取的值为null

    千次阅读 2018-06-20 16:27:31
    updatePerson=张三二、现象描述: 后台读取上传的update_config.properties文件内容,根据第一行对应的key(dataTransName)获取值时始终获取到的值为null。三、报错原因分析: 明明是有这个dataTransName的k...
  • mybatis-plus学习记录-更新值为null的字段无效 在使用mybatis-plus所生成的saveOrUpdate方法的时候,有些字段需要更新为空值。但是mybatis-plus默认的策略是NOT_NULL,如果为空则不更新该字段。 解决方案: 1.在字段...
  • mysql 把弄字段为NULL

    千次阅读 2019-05-22 14:00:45
    update tablename set col=null where 条件 更多内容: oracle 中 NULL , '' 是相等的。 mysql 中,上面二者是不相等的。
  • <p>I'm updating a row in a database, however the fields... if they want to update just the question_placeholder - then I want to update that without the question_content value setting to NULL </div>
  • 一、 配置文件temp.properties如下: ... 后台读取上传的update_config.properties文件内容,根据第一行对应的key(dataTransName)获取值时始终获取到的值为null。 三、报错原因分析:  明明是有这个data...
  • use UserCentergoselect * from AccountDetails1、判断一个字段是否为null值,进行查询:update AccountDetails set ProjectCode ='w88' where ProjectCode is null 2、这一种写法是错误的 update AccountDetails ...
  • 用GridView控件自带的更新命令时,总会有一些字段不... 但是,点击更新后,会将该字段的设置为null。 这是因为在SqlDataSource控件的Update语句中,包含了该字段,因此删除该字段即可。 需要删除两个地方: ...
  • 在sql中,更新语句,如果查询出来的值为null,则用nvl关键字 nvl(查询出的值,默认值),如果查询出的值为null,则取默认值 UPDATE po_check_base p SET p.budget_end_money = nvl((p.project_money - p.cut_money) / (1+ ...
  • Connection conn = this.getSqlMapClientTemplate().get...hashMap取值=null parMap大小 =2 hashMap的=[1002, 8380480] 判断containsValue = false 判断containsKey = false(hashmap中有,get(key)null);

空空如也

1 2 3 4 5 ... 20
收藏数 756
精华内容 302
关键字:

update 值为null