【sqlAlchemy】异常汇总

10 篇文章 1 订阅
1. core Exception
  • 1. SQLAlchemyError

    • 1.1 ArgumentError: 当提供了无效或冲突的函数参数时引发

      • 1.1.1 NoSuchModuleError: 当无法找到特定名称的动态加载模块(通常是数据库方言)时引发。
      • 1.1.2 NoForeignKeysError: 在联接过程中,当两个可选项之间没有外键时引发。
      • 1.1.3 AmbiguousForeignKeysError: 当在联接过程中两个可选项之间可以找到多个外键匹配时引发。
    • 1.2 ObjectNotExecutableError: 当对象传递给.execute()时引发,该对象无法作为SQL执行。

    • 1.3 CircularDependencyError:当检测到循环依赖时由拓扑排序引发.(1)在会话刷新操作中,如果两个对象相互依赖,则不能单独通过INSERT或DELETE语句插入或删除它们;将需要UPDATE来后关联或预取消关联外键约束值之一。在:ref:post_update中描述的``post_uupdate标志可以解决此循环。 (2)在:attr:_schema.MetaData.sorted_tables操作中,两个:class:_shema.ForeignKey或:class: _schema.ForeignKeyConstraint对象相互引用。将“use_alter=True”标志应用于一个或两个,请参见:ref:use_alter`。

    • 1.4 CompileError: 在SQL编译期间发生错误时引发

      • 1.4.1 UnsupportedCompilationError: 给定编译器不支持操作时引发
    • 1.5 IdentifierError: 当表名称超出最大字符限制时引发

    • 1.6 DisconnectionError: 在原始DB-API连接上检测到断开连接。此错误由连接池引发并在内部使用。它可以由:meth:_events.PoolEvents.checkout事件引发,以便主机池强制重试;该异常将在池放弃之前连续捕获三次,并引发关于连接尝试的:class:~sqlalchemy.exc.InvalidRequestError

      • 1.6.1 InvalidatePoolError: 当连接池应使所有过时连接失效时引发。class:_exc.DisconnectionError的子类,表示连接上遇到的断开情况可能意味着整个池都应该无效,因为数据库已经重新启动。此异常的处理方式与:class:_exc.DisconnectionError相同,允许在放弃之前尝试三次重新连接。
    • 1.7 TimeoutError: 当连接池在获取连接时超时时引发。

    • 1.8 InvalidRequestError: SQLAlchemy被要求做一些它不能做的事情。这个错误通常对应于运行时状态错误。

      • 1.8.1 NoInspectionAvailable: 传递给:func:sqlalchemy.inspect.inspect的主题没有生成用于检查的上下文。
      • 1.8.2 PendingRollbackError:事务失败,需要回滚才能继续。
      • 1.8.3 ResourceClosedError:已从处于关闭状态的连接、光标或其他对象请求操作。
      • 1.8.4 NoSuchColumnError: 从“Row”请求不存在的列。
      • 1.8.5 NoResultFound: 需要数据库结果,但找不到。此异常现在是Core中的“sqlalchemy.exc”模块的一部分,从ORM迁移而来。该符号仍然可以从sqlalchemy.orm.exc导入
      • 1.8.6 MultipleResultsFound: 需要一个数据库结果,但找到了多个.这个异常现在是Core中的“sqlalchemy.exc”模块的一部分,从ORM迁移而来。该符号仍然可以从“sqlalchemy.orm.exc”导入。
      • 1.8.7 NoReferenceError: 由ForeignKey引发,表示无法解析引用。
        • 1.8.7.1 NoReferencedTableError: 当找不到引用的“表”时,由“ForeignKey”引发。
        • 1.8.7.2 NoReferencedColumnError: 当找不到引用的Column时,由ForeignKey引发。
      • 1.8.8 AwaitRequired: 如果在需要异步操作时没有等待异步操作,则异步greenlet派生引发错误。
      • 1.8.9 MissingGreenlet: 如果在不在greenlet派生上下文中时调用了异步greenlet await_,则会引发错误。
      • 1.8.10 NoSuchTableError: 表不存在或对连接不可见。
      • 1.8.11 UnreflectableTableError: 表存在,但由于某些原因无法反射。
      • 1.8.12 UnboundExecutionError:试图在没有数据库连接的情况下执行SQL。
    • 1.9 StatementError: 执行SQL语句时出错。

      • 1.9.1 DBAPIError: 数据库操作执行失败时引发。

        • 1.9.1.1 InterfaceError: 包装DB-API接口错误。

        • 1.9.1.2 DatabaseError

          • 1.9.1.2.1 DataError

          • 1.9.1.2.2 OperationalError

          • 1.9.1.2.3 IntegrityError: 当数据库的关系完整性受到影响时引发异常,例如外键检查失败。此错误是DBAPI错误,源于数据库驱动程序(DBAPI),而不是SQLAlchemy本身。

          • 1.9.1.2.4 InternalError

          • 1.9.1.2.5 ProgrammingError

          • 1.9.1.2.6 NotSupportedError

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值