2011-09-13 3 views
1

列のデータ型を文字列から整数に変換しようとしています。列には文字列の値がいくつかあります。SQLAlchemyの列の変更中のデータの変換

table.c.emp_no.alter(type=Integer)をやって、私はこのエラーを取得する:

OperationalError: (OperationalError) (1366, "Incorrect integer value: 'terwte' for column 'newColumn' at row 1")
'\nALTER TABLE test.mytable CHANGE COLUMN `newColumn` `newColumn` INTEGER'()

が私を助けてください。

答えて

1

デフォルトでは、MySQLはstrict_modeがONの状態で有効になっています。

MySQLインストールディレクトリ内の "my.ini"ファイルを開き、 "sql-mode"というテキストとコメントアウトを探します。

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
+0

私はあなたの答えを得ていませんでした。あなたはもう少し説明してください。 – Pravin

+0

strict_modeがONで "STRICT_TRANS_TABLES"が有効なため、このエラーが発生しています。したがって、エラーなしでデータ型を変更できるように、「STRICT_TRANS_TABLES」またはコメントアウト「sqlモード」を削除できます。 –

関連する問題