【MySql】sql函数实现 添加/修改购物车 没有记录则insert 有则update (性能好坏未测试)

来源:互联网 发布:mp4视频格式转换软件 编辑:程序博客网 时间:2024/05/22 15:32

做demo临时遇到 添加/修改购物车 ,某人购物车中没有这个商品记录时insert一条,有记录则update个数。

由于比较懒,select 后再判断 insert 还是update 比较不符合我这样活泼的性格。

 于是Mybatis中出了这一条,


临时用到sql 网上找了模板后改来用,

结构别人写的,临时帮忙,表不大所以没考虑性能好坏,这点遗憾。

表结构:


代码:

<!-- 添加/修改购物车,没有则insert 有则update  map属性 product_num,user_name,trolley_num -->DROP PROCEDURE IF EXISTS temp;DELIMITER //CREATE PROCEDURE temp()BEGIN   DECLARE num int DEFAULT 0;   DECLARE vid int DEFAULT 0;       SELECT count(*),T.product_num INTO num,vid FROM shop_trolley T WHERE trolley_id=223 ;       IF num=0 THEN       INSERT INTO shop_trolley VALUES (223,400,222,12);   ELSE      UPDATE shop_trolley SET trolley_num=trolley_num+12 WHERE product_num=vid;   END IF;END//DELIMITER ;call temp();

别说扔到MaBatis xml文件里也能运行,至于sql内判断快还是写成service快,没测试过,但感觉内部处理应该会比外部处理快。未测,不敢下定论。

阅读全文
0 0
原创粉丝点击