Не добавляются данные в БД sql, выводит ошибку: OperationalError: no such column

Nikita 2020

Новичок
Пользователь
Май 21, 2020
46
3
8
Windows 7, python 3.8
Вот код:
Python:
import psutil
import sqlite3
db = sqlite3.connect('server.db')
sql = db.cursor()

sql.execute("CREATE TABLE IF NOT EXISTS users(list_process TEXT)")
db.commit()
a = []


for proc in psutil.process_iter(['name']):
    b = proc.info['name']
    print(b)
sql.execute("SELECT list_process FROM users")
sql.execute(f"INSERT INTO users VALUES (`{b}`)")
for value in sql.execute("SELECT * FROM users"):
    print(value)
Здесь должны добавляться значения из итератора psutil.process_iter в таблицу users. Но выходит ошибка: OperationalError: no such column: browser.exe. Если что browser.exe это значение из этого итератора.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
В ошибке написано: нет такого столбца в таблице.
Нужно в строке:
Python:
sql.execute(f"INSERT INTO users VALUES (`{b}`)")
указать в какой столбец вставлять данные.
Вот примерный синтаксис:
Код:
INSERT INTO table (column1,column2 ,..) VALUES( value1,    value2 ,...);
 
  • Мне нравится
Реакции: Student

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример:
Python:
x = 10
sql.execute("""INSERT INTO table_name ('column_name') VALUES (?) """, (x,))
 
  • Мне нравится
Реакции: Student

Nikita 2020

Новичок
Пользователь
Май 21, 2020
46
3
8
В ошибке написано: нет такого столбца в таблице.
Нужно в строке:
Python:
sql.execute(f"INSERT INTO users VALUES (`{b}`)")
указать в какой столбец вставлять данные.
Вот примерный синтаксис:
Код:
INSERT INTO table (column1,column2 ,..) VALUES( value1,    value2 ,...);
Я написал вот так:
Python:
sql.execute(f"INSERT INTO users (list_process) VALUES (`{b}`)")
И у меня та же ошибка.
 
Последнее редактирование:
  • Мне нравится
Реакции: Student

Форум IT Специалистов