gpt4 book ai didi

mysql - 如何处理 MySQL 存储过程生成的所有错误

转载 作者:行者123 更新时间:2023-11-29 15:05:19 25 4
gpt4 key购买 nike

背景

我正在编写一个 Web 应用程序,并且有一个存储过程,它将一些数据插入到表中。作为一名程序员,我怀疑 IO,所以我的直觉告诉我,我需要进行一些异常处理,以防写入失败。

存储过程中错误处理的预期效果是设置一个由 DAL(在 PHP 中)使用的标志,该标志将提醒用户某些内容已损坏,并将详细信息发送给管理员。

问题

  • 考虑到我希望生成任何错误来触发此处理,处理此级别错误的最佳策略是什么?
  • MySQL 错误代码和 SQLSTATE 值有助于识别特定错误,但似乎不是我正在寻找的内容。 SQLEXCEPTION 似乎是一种更广泛的错误处理机制,可能适合我的需求,但我想知道这是否有点类似于在 C# 中捕获 Exception ,有可能捕获我真正不应该捕获的东西
  • 我是从完全错误的角度看待这个问题吗?我目前认为,在数据库中保留尽可能多的数据逻辑是一个好主意,因此在数据库中处理数据库错误很自然,但我愿意接受建议。
  • 最佳答案

    我是从完全错误的角度看待这个问题吗?

    是的。如果您不能相信数据库能够处理 I/O 错误,那么您就错过了使用数据库的意义。

    通常的练习是在存储过程中尽可能少地执行操作。您的 PHP 程序将会出现错误和异常,而这正是您希望发生的情况。既然 PHP 会遇到异常,你还担心什么呢?只需让它们从您的存储过程中弹出即可。

    您的 PHP 必须“警告用户某些内容已损坏”。

    如果您想以某种方式将所有存储过程“包装”在某种错误日志记录中,请在 PHP 中执行此操作。不要乱写你的存储过程。不用担心 I/O 错误。你有一个数据库来处理这个问题。

    关于mysql - 如何处理 MySQL 存储过程生成的所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253454/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com