假若我们希望将表 table_b 中的一个字段 bname 中的内容“拷贝”到表 table_a 中对应的 aname 字段中,而表 table_a 中的记录与表 table_b 中的记录是通过 id 想关联的。
首先我们来联表查询一下:
SELECT a.id, a.aname, b.bname FROM table_a a, table_b AS b WHERE a.id = b.id;
没有发现出错,可以执行与之对应的 Update 语句:
UPDATE table_a a, table_b AS b SET a.aname = b.bname WHERE a.id = b.id;
可以延伸到子表记录数的统计。下面是一个连表更新产品分类中产品计数的例子,在此就不多做解释了。
UPDATE categories a SET a.products_count = ( SELECT COUNT(*) FROM products b WHERE b.categories_id = a.id );
这样的 SQL 语句就可以实现连表修改了,是不是很简单?马上试试吧!