精华内容
下载资源
问答
  • Update Sql语句的写法

    万次阅读 2019-03-06 10:32:10
    有一次,我想更新一条记录的几个字段,将SQL写成了下面的样子。 update table1 set column1 = 'value1' and column2 = 'value2' and column3 = 'value3' where id = 3; 我的本意,是想将表 table1 中 id = 3的这...

    有一次,我想更新一条记录的几个字段,将SQL写成了下面的样子。

    update table1 set column1 = 'value1' and column2 = 'value2' and column3 = 'value3' where id   = 3;

    我的本意,是想将表 table1 中 id = 3的这行,将column1, column2, column3改为新的值。

    然而,执行的结果,却只将column1的值改为了0。不但column2和column3的值没有改,而且column1的值改的也不对。

    后来,自己查了一下update语句的写法,发现正确的写法如下。

    update table1 set column1 = 'value1' , column2 = 'value2' , column3 = 'value3' where id   = 3;

    也就是,设置多个列的值时,中间用逗号隔开,而不是and。

    事后,我分析了一下,第一次的SQL为什么是那样的效果呢。

    原来,第一次SQL,实际执行的是下面的逻辑。

    update table1 set column1 = ('value1' and column2 = 'value2' and column3 = 'value3') where id   = 3;

    找到id=3的行,判断这一行的column2是否等于value2,column3是否等于value3,两个的结果再和value1一起相与,并将结果赋值给column1.

    语法虽然没错,但执行逻辑完全变了。

    展开全文
  • Mysql跨表更新 多表update sql语句总结 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段...

                                                                   Mysql跨表更新 多表update sql语句总结

    假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
    在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式:

    UPDATE product p, productPrice pp
    SET pp.price = pp.price * 0.8
    WHERE p.productId = pp.productId
    AND p.dateCreated < '2004-01-01' 

    另外一种方法是使用inner join然后更新:

    UPDATE product p
    INNER JOIN productPrice pp
    ON p.productId = pp.productId
    SET pp.price = pp.price * 0.8
    WHERE p.dateCreated < '2004-01-01' 

    另外我们也可以使用left outer join来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:

    UPDATE product p
    LEFT JOIN productPrice pp
    ON p.productId = pp.productId
    SET p.deleted = 1
    WHERE pp.productId IS null 

    另外,上面的几个例子都是两张表之间做关联,但是只更新一张表中的记录,其实是可以同时更新两张表的,如下sql:

    UPDATE product p
    INNER JOIN productPrice pp
    ON p.productId = pp.productId
    SET pp.price = pp.price * 0.8,
    p.dateUpdate = CURDATE()
    WHERE p.dateCreated < '2004-01-01' 

    两张表做关联,更新了ProductPrice表的price字段和Product表字段的dateUpdate两个字段。

     

    原文地址:https://www.jb51.net/article/32648.htm

     

    展开全文
  • 动态拼接update sql语句

    千次阅读 2018-07-04 10:21:48
    "UPDATE " +tableName+ " SET " ); //equipmentassetstable for (int i= 0 ;i();i++){ if (! "ID" .equals(keyList.get(i))){ sb.append(keyList.get(i)); sb.append( "=" ); sb.append( "'" +valueList....
    @WriteDataSource
        public void updateEquipmentAssets(String tableName,List<String> keyList,List<String> valueList){
            StringBuilder sb = new StringBuilder();
            sb.append("UPDATE "+tableName+" SET ");//equipmentassetstable 
            for(int i=0;i<keyList.size();i++){
                if(!"ID".equals(keyList.get(i))){
                    sb.append(keyList.get(i));
                    sb.append("=");
                    sb.append("'"+valueList.get(i)+"'");
                    if(i!=keyList.size()-1){
                        sb.append(",");
                    }
                }
    
            }
            for(int i=0;i<keyList.size();i++){
                if("ID".equals(keyList.get(i))){
                    sb.append(" WHERE ID = '"+valueList.get(i)+"'");
                }
            }
            //jt.execute(sb.toString());
            System.out.println(sb);
        } 
    展开全文
  • Mysql多表update sql语句

    千次阅读 2017-09-29 10:41:25
    今天接到一个任务进行修改数据库表中的数据,需要根据表A为标准,将表B的数据中的一个字段修改,一开始我想一个一个修改,发现太多了,网上一看,update有多表关联修改(本人经过验证,真实有效) 目标:afm_...

    今天接到一个任务进行修改数据库表中的数据,需要根据表A为标准,将表B的数据中的一个字段修改,一开始我想一个一个修改,发现太多了,网上一看,update有多表关联修改(本人经过验证,真实有效)

    目标:afm_landarea 表中的 areaname修改为 fz_umc.umc_areainfo表中 的数据,他们表中的parentcode 均为50

    1.原数据表afm_landarea

    这里写图片描述

    2.fz_umc.umc_areainfo数据

    这里写图片描述

    3.执行修改

    UPDATE afm_landarea t , fz_umc.umc_areainfo fz SET t.areaname = fz.areaname WHERE t.areacode = fz.areacode AND t.parentcode = ‘50’

    这里写图片描述

    4.验证数据

    这里写图片描述

    展开全文
  • 一条比较复杂的update sql语句

    千次阅读 2017-11-30 17:37:58
    思考一条update语句完成更新操作 已有的表: 一张电压表(电压id,具体电压) 母线表,线路表,主变表 主变圈阻表 select * from T_CIM_ACLINESEGMENT -- 线路表 select * from T_CIM_BASEVOLTAGE --
  • mysql 多表 update sql语句总结

    千次阅读 2016-05-31 22:59:57
    假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;...在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式: UPDATE product p, product
  • 可以在sql语句后携带分号,实现多语句执行。 2.可以执行批处理,同时发出多个SQL语句。 <update id="update" parameterType="map"> delete from t_receipt_detail where mid=#{cm.receiptID}; delete from t_...
  • UPDATE SQL语句详细用法

    万次阅读 2008-10-10 13:55:00
    UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...] [ FROM fromlist ] [ WHERE condition ]描述UPDATE 改变满足条件的所有行的声明了的列/字段的值。 只有要更改的列/字段需要在 SET 子句中...
  • VC++执行Update SQL语句挂死问题分析

    千次阅读 2014-07-09 00:17:04
    经过对软件日志文件的分析,发现软件运行一段时间后(短的几个小时,长的几天),其中的一个线程执行更新表T_Data的SQL语句时挂死,表现为执行Update时已进入到调用Winddows ADO API ,但调用后一直处于执行中状态,...
  • 做升级的时候需要对数据库进行升级且要求可重复执行,如果我们升级是新加一个数据库字段,执行第二次肯定会报错,可利用下面方法实现可重复执行升级sql。   delimiter //DROP PROCEDURE IF EXISTS `...
  • 项目中,评论数,关注数等数据,是实时更新的。+1,-1 这种。有的时候,可能统计不准确。...(不想写存储过程)语句如下:#更新一个人的 关注数 followingCount update behavior_redman_count a inner join ( sele
  • 用如下方法可以直接得到影响的行数:dim conndim sqldim lngrecssql="update table1 set field1=good"set conn=server.createobject("adodb.connection")conn.open dsnconn.execute sql,lngrecsconn.close:set conn=...
  • For Oracle:update ipop_worktype_loader wl set wl.status=0where exists (select 1 from ipop_worktype_lkp w where wl.worktype_id = w.worktype_id and w.application_Id=10 and wl.status=1) For MS SQ
  • Oracle SQLupdate更新语句总结

    万次阅读 2015-03-28 11:21:02
    Oracle update SQL 语句总结: update 用于修改表中的数据
  • SQL UPDATE 语句

    千次阅读 2018-10-04 19:40:51
    SQL UPDATE 语句 UPDATE 语句用于更新表中的记录。 SQL UPDATE 语句 UPDATE 语句用于更新表中已存在的记录。 SQL UPDATE 语法 UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_...
  • 本章主要内容:SQL INSERT INTO 语句SQL UPDATE 语句SQL DELETE 语句
  • sql update语句

    千次阅读 2018-09-03 15:51:34
    update 语句  update 语句中用于修改中的表数据  ...SQL delete 语句  delete from 表名称 where 列名称 = 值  delete from person where lastname = 'wilson' delete from person whe...
  • 新增语句 修改数据,除了上面讲述的基本的INSERT,DELETE和UPDATE语句外,SQL 2008还提供了一些新增语句。...6.4.1 ON DELETE和ON UPDATEsql语句大全 CREATE TABLE 表达式中的ON DELETE和ON UPDATE子句是另一种管理
  • 二、作用: 将一些查询复杂的SQL语句变为视图,便于查询 三、语法: create [or replace] view v$_name as sub-query [with read only] 四、需要注意的点: 1.视图也可以从视图中产生 2.我们把用于产生视图的表称之...
  • Mybatis中的CRUD操作(增删改查)中,简单的SQL操作比较直观,如查找操作: <select id="findBySrcId" resultMap="entityRelationResultMap"> SELECT * FROM ENTITY_RELATION WHERE SRC_ID=#{srcId} </...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,691
精华内容 8,676
关键字:

updatesql语句