@bond_1013
Начинающий веб-разработчик

Как вставить данные в БД sqlite3?

Как можно вставить данные в таблицу с автоинкрементом, как можно пропустить это поле? При вставке возникает ошибка что тип данных не сходится тк первое поле это id и оно int.
import sqlite3

conn = sqlite3.connect("all.db")
cursor = conn.cursor()

def parser(link, separator='|'):
    f = open(link)
    text = f.read()
    text = text.split('\n')
    for i in range(len(text)):
        text[i] = tuple(text[i].split(separator))
    text = tuple(text)
    f.close()
    print(text)
    return text
def create_table(name):
    cursor.execute("""CREATE TABLE {0} ({1} INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,{2} text,{3} text,{4} text,{5} text)""".format(name[0],name[1],name[2],name[3],name[4],name[5]))
    conn.commit()
text=parser('C:\\Users\\sanya\\Documents\\БД\\test.txt')
try:
    create_table(text[0])
except:
    pass
print(text)
text=text[1:]
text=list(text)
print(text)
cursor.executemany("INSERT INTO Test VALUES (?,?,?,?,?)",text)
cursor.commit()

Строки из файла:
Test|id|first_name|second_name|address|house
lorem|ipsum|dolor|sit|amet
consectetur|adipscing|elit|Phasellus|ultrices
s|d||c|d
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
insert into table(column1, column2) values (?,?)'
id пропускаешь
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы