一、mysql:
注意:此处的 inner join 不可以像往常一样使用逗号“,”替换!!!切记!!
update table1 inner join table2 on table1.id=table2.pid
set table1.`name`= table2.`name`
备注:
可以把上面的 table1 inner join table2 on table1.id=table2.pid 看成是一个“整体表”,便于理解。即,相当于:
| update table1 inner join table2 on table1.id=table2.pid set table1.`name`= table2.`name` | update (整体表) set ... |
二、SQL Server:
update table1 set table1.`name`= table2.`name` from table2
where table1.id=table2.pid
只有sql server支持 update ... from 啊 ~ ~,真浪费 ~
本文介绍了MySQL和SQL Server中更新数据时的语法差异。在MySQL中,使用`UPDATE`语句结合`INNER JOIN`时,不能用逗号替代,而应该作为一个整体表达式。例如:`UPDATE table1 INNER JOIN table2 ON table1.id = table2.pid SET table1.name = table2.name`。而在SQL Server中,可以使用`UPDATE...FROM`结构,如:`UPDATE table1 SET table1.name = table2.name FROM table2 WHERE table1.id = table2.pid`。请注意这两个数据库系统的语法区别。
4200

被折叠的 条评论
为什么被折叠?



