sqlite python插入

时间:2010-01-25 06:37:23

标签: python sqlite

之前我曾问过类似的问题,这里是我正在努力实现的详细解释

我有两个sqlite表
table1 - 是标准表 - 包含服务器,id,状态等字段 table2 - 包含服务器,id,状态,编号,日志文件等字段

Table2为空,Table1有值。我正在尝试用table1中的条目填充table2。 我可以从table1中检索记录,但是在尝试插入到table2时它失败了。(但插入一个字段有效)

self.cursor.execute("select * from server_table1 limit (?)",t)
#insert into server_process

for record in self.server_pool_list:
    print "--->",record # geting output like ---> (u'cloud_sys1', u'free', u'192.168.1.111')
    self.cursor.execute("insert into server_table2(server,status,id) values (?,?,?)",(record[0],)(record[1],),(record[2],));

还让我知道如何在插入失败时产生更多有用的错误消息

1 个答案:

答案 0 :(得分:3)

这句话被打破了:

self.cursor.execute("insert into server_table2(server,status,id) values (?,?,?)",(record[0],)(record[1],),(record[2],));

应该是:

self.cursor.execute("insert into server_table2(server,status,id) values (?,?,?)",record[0:2])

您可能希望调查executemany因为我认为它可以为您节省大量时间。