mysql 存储过程中update影响行数为0,回滚 5

请高手指教一个问题,在mysql的存储过程中update更新影响行数为0,怎么获取到这个0,并回滚!谁帮忙指教一下,急求--开始事务starttransaction;ca... 请高手指教一个问题,在mysql的存储过程中update更新影响行数为0,怎么获取到这个0,并回滚!
谁帮忙指教一下,急求

-- 开始事务
start transaction;
call setCoin(zjAmount, 0, `uid`, liqType, `type`, info, _betId, serializeId, '');
update blast_bets set lotteryNo=_kjData, zjCount=_zjCount, bonus=zjAmount, fanDianAmount=_fanDianAmountSelf where id=_betId;
-- 提交事务
commit;
展开
 我来答
无野楼升域醉0t
2019-01-15 · TA获得超过8552个赞
知道小有建树答主
回答量:1498
采纳率:88%
帮助的人:494万
展开全部

使用FOUND_ROWS() 获得影响的行数,再用IF判断是否等于0就行了。

-- 开始事务
start transaction;

call setCoin(zjAmount, 0, `uid`, liqType, `type`, info, _betId, serializeId, '');
update blast_bets set lotteryNo=_kjData, zjCount=_zjCount, bonus=zjAmount, fanDianAmount=_fanDianAmountSelf where id=_betId;
IF FOUND_ROWS() = 0 THEN  
   ROLLBACK;  
ELSE  
   COMMIT;  
END IF;      
commit;
折柳成萌
高粉答主

2019-01-14 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6012万
展开全部
在存储过程中使用ROW_COUNT()
mysql> select * from a1;
-> //
+------+-------+
| id | name |
+------+-------+
| 1 | timac |
+------+-------+
1 row in set (0.00 sec)
mysql> \d ;
mysql> update a1 set name='king' where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
mysql> insert into a1 values(2,'K1'),(3,'K2');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 2 |
+-------------+
1 row in set (0.00 sec)

mysql> update a1 set name='kings' where id=4;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 0 |
+-------------+
1 row in set (0.00 sec)

只有返回的row_count()值大小还判断是否成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式