1

したがって、odoデータ移行に使用していますが、次のエラーに遭遇しました:

sqlalchemy.exc.DataError: (psycopg2.DataError) integer out of range  

ソース テーブルと宛先テーブルのスキーマは同じですが、バックエンドで実行されている sql ステートメントでは、整数値に .0 が含まれています。34ソース テーブルの整数と同様に、次のように表示され34.0ます。

[SQL: INSERT INTO table2 (col1, col2,col3) VALUES (%(col1)s, %(col2)s, %(col3)s] 
[parameters: ({'col2' : val2', 'col3' : val3', 'col1' : val1})]

さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

SQL 文字列は次のようになります。

INSERT INTO table2 (col1, col2, col3) VALUES (
    %(col1)s::numeric::int, 
    %(col2)s::numeric::int, 
    %(col3)s::numeric::int
)

ターゲット列が null 可能ではなく、ソース値をNone合体できる場合:

    coalesce(%(col1)s::numeric::int, 0), 
于 2016-06-28T11:21:44.093 に答える