2016-03-18 5 views
0

Я отказываюсь от некоторых веб-страниц и хочу вставить эти данные в базу данных sqlite3. Я успешно создан и связные таблицы и базы данныхОшибка неподдерживаемого типа в sqlite3 с использованием python

conn.execute(''' 
    CREATE TABLE datatable (id INTEGER PRIMARY KEY, Date TEXT, 
         Time TEXT, html_link BLOB, Desc BLOB, Tup BLOB) 
''') 

id is the auto_incriment value 
date="03-09-2016" 
time="12:34:56" 
html="http://web1.com" 
des="Oct 21, 2010 - In the code below row is a tuple of 200 elements (numbers) and listOfVars is a tuple of 200 strings that are variable names in the testTable ." 
arr=(1,2,3) 

Затем я попытался вставить значения в этой таблице

conn.execute('''INSERT INTO datatable (Date, Time, html_link, Desc, Tup) 
        VALUES(?,?,?,?,?)''', (date,time,html,des,arr)) 

Но его бросали эту ошибку

VALUES(?,?,?,?,?)''', (date,time,html,des,arr)) sqlite3.InterfaceError: Error binding parameter 4 - probably unsupported type.

Я знаю, что я сделал ошибку при присвоении соответствующего типа данных таблице sqlite. Как я могу найти столбец с ошибкой и как решить эту проблему.

+0

И каков тип этого параметра? –

ответ

1

Попробуйте сохранить кортеж, который вы пытаетесь сохранить с рассолом. Вот рабочий пример.

import sqlite3 
import pickle 

conn = sqlite3.connect(":memory:") 
conn.text_factory=str 
cur=conn.cursor() 
cur.execute(''' 
    CREATE TABLE datatable (id INTEGER PRIMARY KEY, Date TEXT, 
         Time TEXT, html_link BLOB, Desc BLOB, Tup BLOB) 
''') 

date="03-09-2016" 
time="12:34:56" 
html="http://web1.com" 
des="Oct 21, 2010 - In the code below row is a tuple of 200 elements (numbers) and listOfVars is a tuple of 200 strings that are variable names in the testTable ." 
arr=(1,2,3) 



cur.execute('''INSERT INTO datatable (Date, Time, html_link, Desc, Tup) VALUES(?,?,?,?,?)''', (date,time,html,des,pickle.dumps(arr,2))) 
cur.execute('''SELECT * from datatable''') 
print pickle.loads(cur.fetchall()[0][5]) 
conn.close() 
+0

Его возврат этой ошибки 'TypeError: ожидаемый буферный объект ' – Eka

Смежные вопросы