Mysql 如何将SQL错误消息插入表中

Mysql 如何将SQL错误消息插入表中,mysql,transactions,sqlexception,Mysql,Transactions,Sqlexception,我想将执行存储过程时发生的错误消息存储在另一个错误表中。 下面是我的示例过程,其中包含一些错误语句 DELIMITER $$ DROP PROCEDURE IF EXISTS `test`$$ CREATE PROCEDURE `test`() BEGIN SELECT * FROM emp; END $$ DELIMITER $$; 当我调用上面的过程时,它会给我错误。我想把这个错误代码和消息作为“错误”存储在另一个表中。 任

我想将执行存储过程时发生的错误消息存储在另一个错误表中。 下面是我的示例过程,其中包含一些错误语句

    DELIMITER $$
    DROP PROCEDURE IF EXISTS `test`$$
    CREATE PROCEDURE `test`()
    BEGIN
        SELECT * FROM emp;

    END $$
    DELIMITER $$;
当我调用上面的过程时,它会给我错误。我想把这个错误代码和消息作为“错误”存储在另一个表中。 任何指点都很感激。
提前谢谢

SQL错误表示您的SQL查询有问题。这可能(也可能不是)取决于你的桌子。如果错误是特定于表的查询语法错误,也就是说,如果某个特定表或某个查询有问题,那么您肯定可以将错误插入表中。但是,如果您的连接有问题或其他问题,则不能在任何表中插入错误。
始终尝试将错误记录在
html
文件或
txt
(文本)文件中,以便您可以顺利访问它。此外,失败的可能性也较小。

SQL错误表示您的SQL查询有问题。这可能(也可能不是)取决于你的桌子。如果错误是特定于表的查询语法错误,也就是说,如果某个特定表或某个查询有问题,那么您肯定可以将错误插入表中。但是,如果您的连接有问题或其他问题,则不能在任何表中插入错误。
始终尝试将错误记录在
html
文件或
txt
(文本)文件中,以便您可以顺利访问它。失败的可能性也更小。

在MySQL中处理此问题的标准方法是声明一个
处理程序,以您想要的方式处理错误条件。这允许您在需要时将错误消息插入另一个表中,然后根据需要
继续
退出运行过程

以下是文档:

不幸的是,您将无法访问导致错误的语句的SQLSTATE,因此这种方法有一定的局限性

这里还有一个更详细的相关问题:


在MySQL中处理此问题的标准方法是声明一个
处理程序
,以您想要的方式处理错误条件。这允许您在需要时将错误消息插入另一个表中,然后根据需要
继续
退出运行过程

以下是文档:

不幸的是,您将无法访问导致错误的语句的SQLSTATE,因此这种方法有一定的局限性

这里还有一个更详细的相关问题: