Как вставить запись в базу данных SQLite3 через python? - PullRequest
0 голосов
/ 01 февраля 2020

Я очень плохо знаком с python, sql и программированием в целом и пытаюсь создать функцию, которая получает два значения из поля ввода, затем вставляет их в базу данных, а затем обновляет древовидное представление, чтобы отобразить обновленные данные. база данных.

В моей базе данных есть 3 поля id, username и password. Я не знаю, что поставить для идентификатора, так как я думал, что он будет автоматически увеличиваться, но когда я запускаю код, ему требуется значение.

Вот моя попытка:

def add():
    with sqlite3.connect("database.db") as conn:
        c = conn.cursor()
    username=entry_username.get()
    password=entry_password.get()
    c.execute("INSERT INTO logins VALUES (?, ?, ?)", (username, password))
    rows = c.fetchall()
    for row in rows:
        print(row)
        tree.insert("", tk.END, values=row)
    c.close()

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 01 февраля 2020

Если вы объявили идентификатор столбца с помощью Integer и первичного ключа, то он будет автоматически автоматически увеличиваться с использованием ROWID. См .: https://www.sqlite.org/faq.html#q1

CREATE TABLE login (
   id INTEGER PRIMARY KEY,
   username text NOT NULL,
   password text NOT NULL
);

И вставить, указав имена столбцов.

INSERT INTO login (username, password) VALUES (?, ?);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...