sqlite 如何在SQLlite3数据库中插入多行

4smxwvx5  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(217)

我试图选择行并从DB表中获取它们,然后将它们插入到一个列表中,这样我就可以一次将所有行插入到数据库中,但我得到了一个错误。
定义已支付或已退回的购买支票(自身):

date = datetime.now()
    now = date.strftime('%Y-%m-%d')
    self.tenlistchecks=[]

    self.con = sqlite3.connect('car dealership.db')
    self.cursorObj = self.con.cursor()

    self.dashboard_buying_checks_dates = self.cursorObj.execute("select id, paymentdate , paymentvalue, car ,sellername from cars_buying_checks where nexttendays=?",(now,))
    self.dashboard_buying_checks_dates_output = self.cursorObj.fetchall()
    self.tenlistchecks.append(self.dashboard_buying_checks_dates_output)
    print(self.tenlistchecks)
    
    self.dashboard_buying_checks_dates = self.cursorObj.executemany("insert into paid_buying_checks VALUES(?,?,?,?,?)",[self.tenlistchecks])

    self.con.commit()

但我收到错误:(120,‘21-08-2022’,‘1112’,‘Alfa Romeo’,‘James’),(122,‘21-08-2022’,‘465’,‘Buick’,‘Daniel’),(123,‘21-08-2022’,‘789’,‘Buick’,‘Daniel’)self.dashboard_buying_check_date=self.cursorObj.ecutemany(sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用5,并且提供了1。

h5qlskok

h5qlskok1#

self.cursorObj.fetchall()返回元组列表,这是您需要提供给executemany的内容,因此

self.cursorObj.executemany("insert into paid_buying_checks VALUES(?,?,?,?,?)",self.tenlistchecks)

self.cursorObj.executemany("insert into paid_buying_checks VALUES(?,?,?,?,?)",[self.tenlistchecks])

相关问题