【问题标题】:MySQL transaction doesn't return enough error message to help debugMySQL 事务没有返回足够的错误消息来帮助调试
【发布时间】:2017-11-27 15:27:40
【问题描述】:

以下事务运行没有问题。但是,一旦事务失败,例如列号不匹配,或任何其他原因,它只会显示错误消息“'SQLWARNING: The request at Linux system time ${LINUX_SYSTEM_TIME} insert failed.th data will回滚'”但没有错误消息显示实际失败。我可以知道是否有任何 MySQL 方法可以在 MySQL 事务中显示错误消息?谢谢。

       delimiter //

        CREATE PROCEDURE 123
        BEGIN

            DECLARE EXIT HANDLER FOR SQLWARNING

                BEGIN

                ROLLBACK;

                SELECT 'SQLWARNING: The request at Linux system time ${LINUX_SYSTEM_TIME} insert failed. Th data will be rollbacked';

                END;


            DECLARE EXIT HANDLER FOR SQLEXCEPTION

                BEGIN

                ROLLBACK;

                SELECT 'The request at Linux system time ${LINUX_SYSTEM_TIME} insert failed. Th data will be rollbacked';

                END;

            START TRANSACTION;

            <do whatever we need in transaction>

            COMMIT;

            END //

            CALL 123;

            DROP PROCEDURE IF EXISTS 

【问题讨论】:

  • 我想你在找resignal
  • @Solarflare:是的,resignal 正是我所需要的。真的很感激!

标签: mysql error-handling transactions


【解决方案1】:

只是为了突出我从@@Solarflare 得到的答案。 Resignal 在这里是一个简单的解决方案 (MySQL exception handler access exception being handled):

                DECLARE EXIT HANDLER FOR SQLWARNING

                BEGIN

                ROLLBACK;

                SELECT 'SQLWARNING: whatever error message';

                RESIGNAL;

                END;


            DECLARE EXIT HANDLER FOR SQLEXCEPTION

                BEGIN

                ROLLBACK;

                SELECT 'SQLWARNING: whatever error message;'

                RESIGNAL;

                END;

【讨论】:

    【解决方案2】:

    开启错误记录。 http://www.pontikis.net/blog/how-and-when-to-enable-mysql-logs 有很好的教程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多