我在update
内部的一个存储过程中使用loop
(一个循环,它一次取出一行并通过它们)。
如何判断那里的更新是否真的成功,所以基于它的成功,我可以更新别的东西吗?
示例:
OPEN cur1;
read_loop: LOOP
IF done THEN
LEAVE read_loop;
END IF;
update tabs set checked = 1 where id = tabId
-- Only If the above update succeeded, I'd like to set another col to 1
If /* Above update succeeded */ then
update tabs set updated = 1 where id = tabId
这是如何实际完成的? MySql中有什么可以检查更新是否成功?
答案 0 :(得分:0)
检查更新是否成功使用mysql命令:ROW_COUNT()
OPEN cur1;
read_loop: LOOP
IF done THEN
LEAVE read_loop;
END IF;
update tabs set checked = 1 where id = tabId;
-- Only If the above update succeeded, I'd like to set another col to 1
If ROW_COUNT()>0 THEN
update tabs set updated = 1 where id = tabId;
END IF;
了解更多信息:MySql ROW_COUNT command