【MySql】sql函数实现 添加/修改购物车 没有记录则insert 有则update (性能好坏未测试)
2017-10-08 01:19
483 查看
做demo临时遇到 添加/修改购物车 ,某人购物车中没有这个商品记录时insert一条,有记录则update个数。
由于比较懒,select 后再判断 insert 还是update 比较不符合我这样活泼的性格。
于是Mybatis中出了这一条,
临时用到sql 网上找了模板后改来用,
结构别人写的,临时帮忙,表不大所以没考虑性能好坏,这点遗憾。
表结构:
代码:
别说扔到MaBatis xml文件里也能运行,至于sql内判断快还是写成service快,没测试过,但感觉内部处理应该会比外部处理快。未测,不敢下定论。
由于比较懒,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快,没测试过,但感觉内部处理应该会比外部处理快。未测,不敢下定论。
相关文章推荐
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----修改记录
- php +mysql 添加 删除 修改 insert into delete update
- 在微信mysql中想实现:当记录不存在时insert,当记录存在时update 出了点问题》》
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) 一条语句实现两表同步(添加、删除、修改)
- [转]Ibatis 批量添加修改删除-batch-insert-update-delete
- MYSQL语句整理:记录添加、修改与删除
- linux下查找字符串&mysql-为magento性能测试修改innodb的innodb_buffer_pool_size而引发的问题
- mysql中如何实现字段的添加、修改、删除
- MySQL性能测试分析 mysql表最大记录数
- [MySQL 5.6] MySQL 5.6 group commit 性能测试及内部实现流程
- 编写android程序实现表记录的添加、删除、修改
- 反驳"MySQL InnoDB (不行)的性能问题",千万级别记录来测试说明
- Ibatis 批量添加修改删除-batch-insert-update-delete
- Mysql 添加字段 性能与锁机制测试。
- mysql - 为magento性能测试修改innodb的innodb_buffer_pool_size而引发的问题
- 一个实现添加、修改、删除记录的类
- MySQL性能测试分析 mysql表最大记录数
- 添加用户操作历史记录时,纪录用户修改内容用反射技术实现
- MySQL 当记录不存在时insert,当记录存在时update
- MySql 插入(insert)性能测试 以及优化