簡體   English   中英

SQLAlchemy批量插入失敗

[英]SQLAlchemy bulk insert failing

我在循環中使用SQLAlchemy進行批量插入,如下所示:

for table, batch in pendingInserts:
    self.conn.execute(table.insert(), batch)

其中batchdict列表, table是SQLAlchemy表。 第一批插入成功執行,但在隨后的迭代中,同一表上的插入失敗,並出現以下錯誤:

StatementError: A value is required for bind parameter 'security_exchange', in parameter group 45 (original cause: InvalidRequestError: A value is required for bind parameter 'security_exchange', in parameter group 45) u'INSERT INTO .....

這里的security_exchange是數據庫(PostgreSQL)中的可空列,因此它不是強制性的,並且在批處理中的所有條目中都將其省略。 我很困惑,為什么它對同一表的第一個大容量插入成功而對第二個插入失敗。 同樣對於同一張表,所有批次中的所有字典提供的列數始終保持不變。

批處理插入需要所有項目在批處理中的所有項目中都具有相同的列集。 在我的情況下,批處理中的某些項目跳過了一些可選列(具有默認值)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM