我想存储在另一个错误表中执行存储过程时发生的错误消息。 这是我的示例程序,有一些错误陈述。
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`$$
CREATE PROCEDURE `test`()
BEGIN
SELECT * FROM emp;
END $$
DELIMITER $$;
当我调用上述程序时,它会给我错误。我想存储此错误代码&另一个表中的消息为“错误”。 任何指针都表示赞赏。 提前致谢。
答案 0 :(得分:1)
在MySQL中处理此问题的标准方法是声明HANDLER
以按您希望的方式处理错误条件。这允许您根据需要将错误消息插入另一个表中,然后根据需要向CONTINUE
或EXIT
运行过程。
这是文档:
http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html
不幸的是,您将无法访问导致错误的语句的SQLSTATE,因此这种方法有些限制。
这是关于SO的另一个相关问题,更详细:
答案 1 :(得分:0)
SQL ERROR 表示您的SQL查询有问题。它可能(或可能不)依赖于您的桌子。如果错误是 TABLE SPECIFIC 或 QUERY SYNTAX ERROR ,也就是说,如果仅对特定表或查询有问题,那么您肯定可以插入错误到表中。但是,如果 CONNECTION 或其他内容存在问题,则无法在任何表格中插入错误。
始终尝试将错误记录在html
文件或txt
(文本)文件中,以便您可以顺利访问它。失败的可能性也更小。