我正在使用Psycopg2和PostgreSQL 8.4。在从一张巨大的表中读取数据时,在相同的代码行成功获取了几十万行后,我突然在下面的代码行中得到了这个神秘的错误。
somerows = cursorToFetchData.fetchmany(30000)
psycopg2.DataError:“DD”无效值“L”
DETAIL:值必须是整数。
我的问题是我没有名为“DD”的列,并且该表中有大约300列(我知道300列是设计缺陷)。我将非常感谢这个错误消息的含义,或者如何找出问题所在。我不明白Psycop2在获取行时如何对数据类型有任何要求。
答案 0 :(得分:2)
您可以粘贴导致问题的行中的数据吗?猜测我会说这是一个格式错误的日期条目,但很难说。
(无法发表评论,所以必须回答......)
答案 1 :(得分:1)
这不是psycopg错误,而是postgres错误。
引发错误后,请查看cur.query以查看生成的查询。将其复制并粘贴到psql中,您将看到相同的错误。然后从那里调试它。