我想要做的是創建一行代碼來執行將資料插入到用戶決定的任何表中的 sql。每個表都有不同數量的列,因此我無法指定在括號中放入多少?如果有人能找到解決方案,請與我分享,因為我現在陷入困境。
self.conn.execute('INSERT INTO ' self.table ' VALUES (?)', (self.data))
self.data 是一個包含 3 個專案的串列,但如果表更改,則可能會更改。
uj5u.com熱心網友回復:
您可以?根據 的長度動態生成一串逗號分隔的字串self.data,例如:
values = ", ".join("?" * len(self.data))
self.conn.execute('INSERT INTO ' self.table ' VALUES (' values ')', (self.data))
如果你有 Python 3.6 或更高版本,使用格式化的字串execute()會更 Pythonic 和緊湊:
self.conn.execute(f'INSERT INTO {self.table} VALUES ({values})', (self.data))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322788.html
