mysql insert exists ||  mysql 判断数据是否存在

 

情景如下:

  "今日前端忽然说句, 我需要做个判断, 不能重复收藏, 我犹如颈有寒冰不寒而栗, 于是思考我该怎么做?为什么她都思考到了我没有思考到这是我的工作啊"

  思考后得到三种解决方案:

    1. 两条sql, 然后通过第一条sql判断

    2. 一条sql, insert 中使用exists方式(暂时不会,下面讲解)

    3. 存储过程

 

  后请教公司一同事,得到结论, 如果是两个客户端同时操作就采用存储过程, 如果不是, 那么第一种第二种都ok, 后决定采用方案2

  

INSERT INTO table(column1,column2,column3 ...columnN)  
SELECT value1,value2,value3 ...valueN  
FROM dual  
WHERE NOT EXISTS(  
      SELECT *  
      FROM table  
      WHERE value = ?  
);  
sql结构

相关文章: