MySQL 连接器/Python 开发人员指南 / 第 10 章连接器/Python API 参考 / 10.2 connection.MySQLConnection类 /
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'
返回True
或False
。