mySQL:两表更新(用一个表更新另一个表)的SQL语句
用一个表中的字段去更新另外一个表中的字段, MySQL 中有相应的 update 语句来支持,不过这个 update 语法有些特殊。看一个例子就明白了。
create table student ( student_id int not null ,student_name varchar(30) not null ,city_code varchar(10) null ,city_name varchar(50) null ); create table city ( code varchar(10) not null ,name varchar(50) not null ); insert into student values(1, \'john\', \'001\', null); insert into student values(2, \'nick\', \'002\', null); insert into city values(\'001\', \'beijing\'); insert into city values(\'002\', \'shanghai\'); insert into city values(\'003\', \'shenzhen\'); 有两个表:student & city,现在需要取出 city.name 来更新 student.city_name。两表关联条件是 student.city_code=city.code。 update student s, city c set s.city_name = c.name where s.city_code = c.code; 也可以试下面的相关子查询: update student s set city_name = (select name from city where code = s.city_code);
版权声明:本文为nsw2018原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。