Задать вопрос
@Durilka96

Как правильно сформировать sql запрос для корректного вывода id?

присутствует таблица в которою создаю вот таким вот запросом
sqlite_create_table_query = '''CREATE TABLE session (
                                id INTEGER PRIMARY KEY,
                                ip_src TEXT ,
                                ip_dst TEXT ,
                                sport TEXT ,
                                dport TEXT ,
                                request TEXT ,
                                response TEXT );'''
cursor.execute(sqlite_create_table_query)

далее пытаюсь занести хотябы только 1 поле это id, для этого делаю следующий запрос
user_id=tuple([counter_for_id])
                                            print(user_id) #вывожу для удостоверения что переменная изменяется
                                            cursor.execute("INSERT INTO session VALUES (?,NULL,NULL,NULL,NULL,NULL,NULL);",user_id)
                                            sqlite_connection.commit();
                                            cursor.execute("SELECT * FROM session;")
                                            one_result = cursor.fetchone()
                                            print(one_result) #вывожу для проверки результата
#ниже записано
counter_for_id=counter_for_id+1

но программа записывает только первое значение а остальные пропускает, как адаптировать все правильно?605669477db7c497431004.png
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@o5a
Так Вы всегда только первую строку и выбираете своим fetchone
one_result = cursor.fetchone()
Поэтому там только id 1.

И вообще не нужно вручную поле id проставлять, если оно объявлено INTEGER PRIMARY KEY, то будет увеличиваться автоматически.
https://sqlite.org/autoinc.html
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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