sqlalchemy設定を変更して警告に関する例外を発生させたい。MySQLが警告をスローするたびにsqlalchemyにエラーを通知するにはどうすればよいですか?
たとえば、定義された列の長さよりも大きな量のデータをフィールドに挿入すると、mysqlはデータを切り捨て、切り捨てられたデータをフィールドに挿入して警告を出します。
警告の代わりに、私はsqlalchemyがmysqlの代わりに適切なエラーを発生させたいと思います。
sqlalchemy設定を変更して警告に関する例外を発生させたい。MySQLが警告をスローするたびにsqlalchemyにエラーを通知するにはどうすればよいですか?
たとえば、定義された列の長さよりも大きな量のデータをフィールドに挿入すると、mysqlはデータを切り捨て、切り捨てられたデータをフィールドに挿入して警告を出します。
警告の代わりに、私はsqlalchemyがmysqlの代わりに適切なエラーを発生させたいと思います。
「データをマージしたあとで」警告をエラーに変換するには、 をMySQL用に適切なserver modeに設定します。 SQLAlchemyでは、ANSIを選択する必要があります。これは、古いクエリがが壊れていると心配する必要がないためです。 MySQL固有の動作です。
詳細はSQLAlchemy docsを参照してください。
(。。また、デフォルトでは厳しいですデータベースを使用することを検討してPostgresが頭に浮かぶ)
Petr viktorinさん、ありがとうございます。 'set sql_mode =" TRADITIONAL ";' worked! – shahjapan
も参照してください:http://stackoverflow.com/questions/2102251/trapping-a-mysql-warning – tiho