所以,我使用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})]
如果需要更多信息,请与我们联系。
答案 0 :(得分: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),