MySQL事务没有返回足够的错误消息来帮助调试

时间:2017-06-24 01:01:29

标签: mysql error-handling transactions

以下事务没有问题。但是,一旦事务失败,例如,列号不匹配或任何其他原因,它将只显示错误消息“'SQLWARNING:Linux系统时请求$ {LINUX_SYSTEM_TIME}插入失败。数据将被回滚'“但没有错误信息显示实际的失败。我可以知道是否有任何MySQL方式在MySQL事务中显示错误消息?谢谢。

docker-compose up -d

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

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