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   |
    

  • 相关阅读:
    Spinnerd的功能和用法
    vagrant up ----失败 问题解决
    Yii2.0基础框架
    linux上nginx新建站点
    vagrant(二)配置文件vagrantfile详解 以及安装php、nginx、mysql
    vagrant(一)初识与安装
    cmd 使用gii的命令行用法
    mysql 使用shell时出现 ERROR 2006 (HY000): MySQL server has gone away 解决方法
    c++ virtual总结
    kartikgridGridView 合计,多选,导出excel,header修改 等方法集合!
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350305.html
Copyright © 2011-2022 走看看