检查MySql中的更新是否成功

时间:2013-09-29 10:59:09

标签: mysql transactions

我在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中有什么可以检查更新是否成功?

1 个答案:

答案 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