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
)

如果目标列不可为空并且源值可以None合并它:

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