易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql 存储过程 事务

怎么捕捉到错误进行roolback
DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`transaction`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `transaction`()
BEGIN
set autocommit = 0;
/*start TRANSACTION;*/

insert into t3 (id) values(90000);
insert into t3 (id3) values(60000);

if ERRORS <> 0 then
  /*rollback to SAVEPOINT savepoint_1;*/
  rollback;
end if;

    END$$

DELIMITER ;
第二条是错误的,但第一条却执行了,
怎么让第一条也rollback啊?
表的结果是innodb类型的

insert IGNORE into t3 (id3) values(60000);
  if @@error_count <> 0 then

if @@ERRORS <> 0 then

第二条是错误的,但第一条却执行了,

------------
要进行异常处理,否则,后面的语句都执行不了。
示例:

SQL code:
DROP PROCEDURE IF EXISTS `p_test`;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_test`()
BEGIN
declare v_i int;
declare continue handler for 1062 set v_i=1;
set v_i=0;
start transaction;
insert into tb_test22 (id) values(90000);
insert into tb_test22 (id) values(90000);

if v_i <> 0 then
rollback;
else
commit;
end if;
END;


上面的示例假设表tb_test22的id列为主键。
{{-


相关问答:

mysql的连接超时时间怎么设置 - VC/MFC / 数据库

我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))

AfxMessageBox("数据库连接失败") ......

Winform+MySQL做项目

Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......

我要把注册信息提交到mysql中,要怎么办呢?

我在注册页面写入了如下代码:
<?php
    $conn=mysql_connect("localhost","root","614510")or die("数据库服务器连接错误".mysql_error());
& ......

mysql储存过程的问题

我现在学习MYSQL,问下mysql储存过程如何建立和使用,最好写成$sql="sql语句",$re=mysql_query($sql);谢谢
建议你先自己看一下文档中的例子。

http://dev.mysql.com/doc/refman/5.1/zh/stored-pro ......

mysql 编译选项问题

请问各位大哥,静态编译时,mysql编译选项--with-mysqld-ldflags后面用-all-static和-static有什么不同吗?


引用
-all-static 见到过,是所有的文件为静态LINK,这样mysqld的运行效率会比较高,同样尺寸会 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号