Documentation Home

10.2.44 MySQLConnection.raise_on_warnings 属性

可以为该属性分配一个值True orFalse以启用或禁用警告是否应引发异常。默认为 False(默认)。可以调用该属性来检索当前的异常设置。

设置raise_on_warnings也会设置 get_warnings,因为需要获取警告,以便将它们作为异常引发。

笔记

如果您想让 MySQL 服务器直接将警告报告为错误,您可能总是希望设置 SQL 模式(请参阅 第 10.2.47 节,“MySQLConnection.sql_mode 属性”)。使用事务引擎也很好,这样在捕获异常时可以回滚事务。

在引发任何异常之前,需要完全获取结果集。以下示例显示了生成警告的查询的执行:

>>> cnx.raise_on_warnings = True
>>> cursor.execute('SELECT "a"+1')
>>> cursor.fetchall()
..
mysql.connector.errors.DataError: 1292: Truncated incorrect DOUBLE value: 'a'

返回TrueFalse