zoukankan      html  css  js  c++  java
  • mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入

    前言,在我们的业务逻辑中,很有可能会遇到这样的情况。

    1.我要更新一条记录的值。

    2.但是我不确定这条记录存不存在???

    3.那如果存在?我就更新,如果不存在,我就插入!

    那么如果这样,一般情况下,我就要发出三条sql,第一条sql查询这条记录,然后用程序判断,如果存在,则更新,如果不存在,则插入。

    但是这样,就略显麻烦了,而且要发出三条sql,那么,其实是有办法一次性解决的。

    下面给出sql

    BEGIN
        #定义一个变量来保存该记录是否存在
        declare num int;
        #这条sql,就是查询对应的记录有多少条,注意 into num 这两句话,就是把count(*) 查出的值,赋给到num中
        select count(*) into num from t_count_view where TO_DAYS(now())=TO_DAYS(day);
        #接下来的就是判断了,注意,判断是否等于,只有一个等于号
        if(num=0)
        #等于号之后,还要写一个Then,代表条件成立后要执行的sql
            Then
            insert into t_count_view(view_people,view_num,day)values(1,1,now());
      #else可以直接用,不需要加then
        else
            update t_count_view set view_people=view_people+1;
        #但是当if使用完之后,一定要写end if,代表着if的条件判断结束了
      end if;
    END

    上面已经给出了注释,

  • 相关阅读:
    jQuery动态加载动画spin.js
    jQuery自动过滤单词插件
    基于jQuery的自定义滚动条
    jQuery纵向分类下拉菜单导航
    仿酷狗官网新闻焦点图插件
    metro扁平UI网页组件
    HTML5环形音乐播放器
    纯CSS3个性化圆形按钮登录表单
    纯CSS3绘制的黑色图标按钮组合
    纯CSS3实现iOS7扁平化图标
  • 原文地址:https://www.cnblogs.com/zhuxiaojie/p/5145768.html
Copyright © 2011-2022 走看看