2011-11-08 3 views
8

sqlalchemy設定を変更して警告に関する例外を発生させたい。MySQLが警告をスローするたびにsqlalchemyにエラーを通知するにはどうすればよいですか?

たとえば、定義された列の長さよりも大きな量のデータをフィールドに挿入すると、mysqlはデータを切り捨て、切り捨てられたデータをフィールドに挿入して警告を出します。

警告の代わりに、私はsqlalchemyがmysqlの代わりに適切なエラーを発生させたいと思います。

+0

も参照してください:http://stackoverflow.com/questions/2102251/trapping-a-mysql-warning – tiho

答えて

5

「データをマージしたあとで」警告をエラーに変換するには、 をMySQL用に適切なserver modeに設定します。 SQLAlchemyでは、ANSIを選択する必要があります。これは、古いクエリがが壊れていると心配する必要がないためです。 MySQL固有の動作です。

詳細はSQLAlchemy docsを参照してください。


(。。また、デフォルトでは厳しいですデータベースを使用することを検討してPostgresが頭に浮かぶ)

+2

Petr viktorinさん、ありがとうございます。 'set sql_mode =" TRADITIONAL ";' worked! – shahjapan

関連する問題