在mysql中一般更新我们都是通过 update set指定的值,但是有些时候,我们数据库中存在一些记录,这时候我们希望用已有数据库中的记录来进行更新,这时候我们可以通过mysql的update select语句来进行更新,通过使用另外一个表的数据来更新当前表数据:

update 待更新表 a 
INNER JOIN 关联表 b 
on a.id=b.id
set a.name=b.name ,a.age=b.age
where b.age > 30

示例

update test001 a 
INNER JOIN test002 b 
on a.id=b.id
set a.name=b.name ,a.age=b.age
where b.age > 30

而这里的join可以使用常见的join类型来进行关联。

另外MySQL中提供了insert ignore into语句,在插入的时候如果主键冲突,那么这个插入将不会被执行会忽略而不会报错。

Logo

更多推荐