判断记录是否存在,存在更新,不存在插入的方案

Posted 鴻飛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断记录是否存在,存在更新,不存在插入的方案相关的知识,希望对你有一定的参考价值。

 

 

技术分享
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
View Code

 

技术分享
<insert id="saveOrUpdate" >
  <selectKey keyProperty="count" resultType="int" order="BEFORE">
    select count(*) from country where id = #{id}
  </selectKey>
  <if test="count > 0">
    update country 
    set countryname = #{countryname},countrycode = #{countrycode} 
    where id = #{id}
  </if>
  <if test="count==0">
    insert into country values(#{id},#{countryname},#{countrycode})
  </if>
</insert>
View Code

 

以上是关于判断记录是否存在,存在更新,不存在插入的方案的主要内容,如果未能解决你的问题,请参考以下文章

如数据不存在就插入,存在就更新

Mysql插入数据:不存在则插入,存在则跳过或更新

sql server 判断记录存在更新不存在插入

PostgreSql INSERT 插入数据判断数据是否存在,存在则更新,不存在则插入

PostgreSql INSERT 插入数据判断数据是否存在,存在则更新,不存在则插入

SQL在更新数据时,先判断数据是不是存在。存在就更新update,不存在就插入insert。