SQL多表更新Update
有如下两张表:apply和applydetails,两表以applyNo相关联。
列名 | 类型 |
applyNo | varchar |
applyDate | datetime |
state | varchar |
列名 | 类型 |
applyNo | varchar |
idcard | varchar |
name | varchar |
state | varchar |
1)将applyNo为“0001”的表apply和applydetails中的state值都更新为“1”;
MySQL:
1 UPDATE apply t1, applydetail t2 2 SET t1.state='0', t2.state='0' 3 WHERE t1.applyno=t2.applyno AND t1.applyno='0001' AND t2.applyno='0001';
2)将idcard为“2120141021003731”的表apply和applydetails中的state值都更新为“1”;
MySQL:
1 UPDATE apply t1, applydetail t2 2 SET t1.state='1', t2.state='1' 3 WHERE t1.applyno=t2.applyno AND t2.idcard='2120141021003731';
注:以上SQL语句只在MySQL5.5中执行通过了,在SQL Server和Oracle不知道是否可以执行,待测试。