upsert 和 insert 的区别

  • 2020-12-29
  • 浏览 (8581)

upsert 既可以更新数据,又可以插入数据;insert 只能插入数据。

upsert 是一种特殊的更新,如果没有找到符合条件的数据,就会创建这条数据;如果找到了匹配的数据,就正常更新。upsert非常方便,不必预置集合,同一套代码既能用于创建数据又可以更新数据。

MySQL 不支持 upsert,mysql实现upsert的流程:

>开始交易.
> SELECT … FOR UPDATE.
>如果SELECT找到行,则UPDATE.
>其他,INSERT.
> COMMIT.
1  赞