簡體   English   中英

將元組列表插入到具有未知元組大小的 sqlite3 數據庫中

[英]Insert list of tuples into sqlite3 database with unknown tuple size

我目前正在將一個元組列表插入到一個帶有 4 個變量的 sql 表中,如下所示:

conn.executemany('INSERT INTO table values (?,?,?,?)', values_list)

但是,我想通過允許解析的元組為任意長度(即任意數量的變量)來使其更加靈活。 有沒有辦法做類似下面的事情?

conn.executemany(f'INSERT INTO table values {(?)*len(values_list[0])}', values_list)

如果一個表有 3 列,例如col1col2col3 ,那么您可以像這樣插入新行:

INSERT INTO tablename(col1, col2, col3) VALUES (?, ?, ?)

或不枚舉所有列名:

INSERT INTO tablename VALUES (?, ?, ?)

或者,如果您不想為其中一列傳遞值,請說col2

INSERT INTO tablename(col1, col3) VALUES (?, ?)

上述陳述有效,因為每個? 值將被傳遞到其各自的列。

但是這樣的聲明:

INSERT INTO tablename VALUES (?, ?)

會因錯誤而失敗:

表 tablename 有 3 列,但提供了 2 個值

因此,除非您提供將接收傳遞值的列名,否則您不能向INSERT語句傳遞更少的值。

暫無
暫無

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

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