我在网上看到 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' BEGIN …… END
都是这样处理的,在begin end里面写处理sql以及业务逻辑。但是这里有一个就是他指定了 SQLSTATE为02000,如果打比方,我这里对所有sqlstate错误进行统一处理呢,该如何写如何实现?
都是这样处理的,在begin end里面写处理sql以及业务逻辑。但是这里有一个就是他指定了 SQLSTATE为02000,如果打比方,我这里对所有sqlstate错误进行统一处理呢,该如何写如何实现?
解决方案 »
- Server characterset和Db characterset,这俩货之间神马关系?求知道:)
- Can't find any matching row in the user table
- MySql C API 如何使用字段名访问记录
- MySQL下的多表INSERT SELECT UPDATE DELETE的正确语法?
- Mysql效率问题
- 关于MYSQL数据库事务处理的问题,大家来讨论下
- 有人做过用ODBC和sql的数据库管理系统吗
- mysql怎么解决这个问题啊,请大侠赐教?
- 【求助】新人,关于c++使用mysql的mysql_free_result,100分
- Navicat远程MySql数据库可以直接打开表,但是查询语句查询报错2013
- 求一条查询语句
- mysql有没有一个算法生成一个特定id
已经说明了啊,我想一次性处理所有异常啊!很简单的啊!帮助文档里面都是单独处理一种异常sqlstate的例子,我要能一次处理所有所有异常sqlstate的例子,就像oracle里面那样 exception others的方式的处理。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
begin
declare exit handler for sqlexception rollback;
start TRANSACTION;
insert into tablename values(ia+1,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia+2,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia,'2009-01-01 10:00:00','2009-01-02 11:00:00');
-- ROLLBACK;
COMMIT ;
end红色部分,遇到任何错误都回滚。