Как я могу позволить автоматически генерировать идентификатор в моей базе данных? - PullRequest
0 голосов
/ 03 сентября 2018

Вот мой код:

import sqlite3

def insert(fields=(), values=()):
    connection = sqlite3.connect('database.db')
    # g.db is the database connection
    cur = connection.cursor()
    query = 'INSERT INTO  this_database (%s) VALUES (%s)' % (
        ', '.join(fields),
        ', '.join(['?'] * len(values))
    )
    cur.execute(query, values)
    connection.commit()
    id = cur.lastrowid
    cur.close()
    print (id)

тестовый пример:

insert(fields = ("id", "file_name", "url", "time", "type", "description"), values = (2, "file1", "wwww.test.com", "1", "photo", "my first database test"))

Я не хочу давать id вручную. Я хочу добавить it+1 автоматически.

Как я могу это сделать?

1 Ответ

0 голосов
/ 03 сентября 2018

У вас есть столбец INTEGER PRIMARY KEY, который, если вы пропустите его при вставке элементов, автоматически увеличивается:

INSERT INTO this_database(file_name, url, time, type, description)
            VALUES (?,?,?,?,?)

Поскольку id опущено, каждый раз, когда вы вставляете значение, используя вышеприведенный оператор, ему автоматически присваивается число с помощью sqlite.

Документация , объясняющая это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...