zoukankan      html  css  js  c++  java
  • mysql update语句

    UPDATE ClientBankInfo 
    SET 
        status = 3
    WHERE
        sn IN (SELECT 
                sn
            FROM
                zjzc.ClientBankInfo
            WHERE
                cardNo IN (SELECT 
                        cardNo
                    FROM
                        ClientWenJinCardInfo
                    WHERE
                        status = 3));
    					
    					
    UPDATE ClientBankInfo p, (SELECT 
                sn
            FROM
                zjzc.ClientBankInfo
            WHERE
                cardNo IN (SELECT 
                        cardNo
                    FROM
                        ClientWenJinCardInfo
                    WHERE
                        status = 3)) pp
    SET  p.status = 3
    where p.sn=pp.sn
    
    
    关联更新测试;
    mysql>  select * from t1;
    +------+------+
    | id   | name |
    +------+------+
    |    1 | a1   |
    |    2 | a2   |
    |    3 | a3   |
    |    4 | a4   |
    |    5 | a5   |
    |    6 | a6   |
    +------+------+
    6 rows in set (0.00 sec)
    
    mysql>  select * from t2;
    +------+------+
    | id   | name |
    +------+------+
    |    6 | a6   |
    |    5 | a5   |
    +------+------+
    2 rows in set (0.00 sec)
    
    mysql> start transaction;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> update t1,t2 set t1.name='xx' where t1.id=t2.id;
    Query OK, 2 rows affected (0.01 sec)
    Rows matched: 2  Changed: 2  Warnings: 0
    
    mysql>  select * from t1;
    +------+------+
    | id   | name |
    +------+------+
    |    1 | a1   |
    |    2 | a2   |
    |    3 | a3   |
    |    4 | a4   |
    |    5 | xx   |
    |    6 | xx   |
    +------+------+
    6 rows in set (0.00 sec)
    
    mysql>  select * from t2;
    +------+------+
    | id   | name |
    +------+------+
    |    6 | a6   |
    |    5 | a5   |
    +------+------+
    2 rows in set (0.00 sec)
    
    
    如果:
    
    mysql> update t1,t2 set name='xx' where t1.id=t2.id;
    ERROR 1052 (23000): Column 'name' in field list is ambiguous
    
    提示name列是模糊的
    
    /**************
    mysql>  select * from t2;
    +------+------+
    | id   | name |
    +------+------+
    |    6 | a6   |
    |    5 | a5   |
    +------+------+
    2 rows in set (0.00 sec)
    
    mysql> update t1,t2 set name='xx' where t1.id=t2.id;
    ERROR 1052 (23000): Column 'name' in field list is ambiguous
    mysql> update t1,t2 set t2.name='xx' where t1.id=t2.id;
    Query OK, 2 rows affected (0.01 sec)
    Rows matched: 2  Changed: 2  Warnings: 0
    
    mysql>  select * from t2;
    +------+------+
    | id   | name |
    +------+------+
    |    6 | xx   |
    |    5 | xx   |
    

  • 相关阅读:
    你的C/C++程序为什么无法运行?揭秘Segmentation fault (2)
    亲,这就是遗传算法
    我们为什么需要Map-Reduce?
    搜索引擎-架构概述(2)
    搜索引擎-架构概述(1)
    单源最短路径-迪杰斯特拉算法(Dijkstra's algorithm)
    最小生成树-普利姆算法eager实现
    最小生成树-普利姆算法lazy实现
    最小生成树-克鲁斯卡尔算法(kruskal's algorithm)实现
    索引式优先队列(indexed priority queue)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350305.html
Copyright © 2011-2022 走看看