• 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   |
    

  • 相关阅读:
    向量求导几则公式备忘
    电脑硬件接触不良
    caffe编译新问题
    faster-rcnn 目标检测 数据集制作
    py-faster-rcnn 的makefile.config 注意事项
    ubuntu14.04 python + opencv 傻瓜式安装解决方案
    轻量级神经网络平台tiny-dnn实践
    OpenMP 并行编程
    React在Render中使用bind可能导致的问题
    为了cider,尝试emacs的坑
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350305.html
Copyright © 2020-2023  润新知