如何让sqlalchemy在MySQL抛出警告时引发错误?
我想修改sqlalchemy的设置,让它在出现警告的时候抛出异常。
比如说,当我在一个字段中插入的数据超过了定义的列长度时,mysql会把数据截断,只插入一部分,并且会发出一个警告。
我希望sqlalchemy能够直接抛出一个合适的错误,而不是只给我一个警告。
1 个回答
7
要把那些“哦,顺便说一下,我搞坏了你的数据”的警告变成错误提示,你需要为MySQL设置一个合适的服务器模式。在使用SQLAlchemy的时候,建议选择ANSI模式,因为这样你就不用担心旧的查询会和一些MySQL特有的奇怪行为不兼容。
想了解怎么设置,可以查看SQLAlchemy的文档。
(另外,也可以考虑使用一个默认比较严格的数据库,比如Postgres。)