如何让sqlalchemy在MySQL抛出警告时引发错误?

10 投票
1 回答
2580 浏览
提问于 2025-04-17 05:51

我想修改sqlalchemy的设置,让它在出现警告的时候抛出异常。

比如说,当我在一个字段中插入的数据超过了定义的列长度时,mysql会把数据截断,只插入一部分,并且会发出一个警告。

我希望sqlalchemy能够直接抛出一个合适的错误,而不是只给我一个警告。

1 个回答

7

要把那些“哦,顺便说一下,我搞坏了你的数据”的警告变成错误提示,你需要为MySQL设置一个合适的服务器模式。在使用SQLAlchemy的时候,建议选择ANSI模式,因为这样你就不用担心旧的查询会和一些MySQL特有的奇怪行为不兼容。

想了解怎么设置,可以查看SQLAlchemy的文档


(另外,也可以考虑使用一个默认比较严格的数据库,比如Postgres。)

撰写回答