当一张表某个字段不适合建唯一键,且在某个插入场景里需要该字段值不存在时才插入,我们可以用到下列方式

表User 为例

字段 id, name, tmp

 

INSERT INTO User(name) SELECT '张三' FROM DUAL WHERE NOT EXISTS(SELECT name FROM User WHERE name = '张三')

 

这里你有没有一丝疑问,子查询到插入的这个过程是不是原子性的呢?

我们实验一下:

sql实现某字段唯一性插入

 

 

事实证明,在上述语句中,查询到插入的过程是加锁的 

 

** 生活本身就是一地鸡毛

** 诗和远方得自己去寻找

相关文章:

  • 2021-07-01
  • 2022-12-23
  • 2021-06-24
  • 2021-10-15
  • 2021-11-22
  • 2021-12-08
  • 2022-12-23
  • 2021-06-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
  • 2022-01-12
  • 2021-10-17
  • 2022-12-23
  • 2021-05-24
相关资源
相似解决方案