Python 获得';整数超出范围';炼金术错误
因此,我使用Python 获得';整数超出范围';炼金术错误,python,postgresql,sqlalchemy,blaze,odo,Python,Postgresql,Sqlalchemy,Blaze,Odo,因此,我使用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:
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})]
如果需要更多信息,请告诉我。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),
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),
这可能是因为参数字典中整数列的
NaN
值。添加了一个新问题:这可能是因为参数字典中整数列的值为NaN
。添加了一个新问题:sql字符串是发生错误时odo显示为输出的内容。我无法更改它。由于我无法更改sql字符串,我如何才能执行此操作?sql字符串是发生错误时odo显示为输出的内容。我不能更改它。因为我不能更改sql字符串,我如何才能执行此操作?