вставка sqlite python - PullRequest
       9

вставка sqlite python

2 голосов
/ 25 января 2010

Я задавал подобный вопрос раньше, вот подробное объяснение того, чего я пытаюсь достичь

У меня есть две таблицы sqlite
table1 - это стандартная таблица - имеет такие поля, как сервер, идентификатор, статус table2 - имеет такие поля, как сервер, идентификатор, статус, номер, файл журнала

Таблица2 пуста, а Таблица1 имеет значения. Я пытаюсь заполнить таблицу с записями из таблицы. Я могу извлечь записи из таблицы1, но при попытке вставить в таблицу2 происходит сбой (но вставка одного поля работает)

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 Ответ

3 голосов
/ 25 января 2010

Это утверждение нарушено:

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, так как я думаю, что это может сэкономить вам массу времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...