免费网站入口设计制作的基本步骤是哪四个
DBAPI实现数据不存在即插入、存在即更新
场景
-  
往数据库插入数据的时候,需要先判断一下记录是否在数据库已经存在,如果已经存在就更新记录,如果不存在,才插入数据。  
实现方案
-  
采用存储过程实现,以mysql为例子  
创建存储过程
-  
在数据库执行以下语句创建存储过程  
CREATE PROCEDURE upsert(IN v_id INT, IN v_name VARCHAR(255))
BEGIN
    DECLARE v_count INT;
    -- 尝试查找是否存在具有相同唯一键的记录
    SELECT count(1) INTO v_count FROM student WHERE id = v_id;
    -- 判断记录是否存在
    IF v_count > 0 THEN
        -- 更新记录
        UPDATE student SET name = v_name WHERE id = v_id;
    ELSE
        -- 插入新记录
        INSERT INTO student (id, name) VALUES (v_id, v_name);
    END IF;
END;
 ❝调用存储过程,传入两个参数,会根据第一个参数
id判断数据是否存在,id存在就更新name,不存在就插入数据例如
call upsert(3,'abc')
创建API
-  
设置 idname两个参数 
 -  
sql填写
call upsert( #{id}, #{name} )
 -  
保存即可
 
访问API
-  
先插入一条数据  
 -  
可以看到数据新增  
 -  
再传入同一个id,可以看到数据更新  
 
 本文由 mdnice 多平台发布
