sqlite3 и python: sqlite3.OperationalError: - PullRequest
0 голосов
/ 19 апреля 2020

таблица с именем упражнения

CODB_cursor.execute(""" CREATE TABLE excercise (
                    distance INTEGER
                    timeOfRun INTEGER
                    avgHR INTEGER
                    dayOfExcercise timestamp
                    )""")

callOnDB.commit()

функция, которая вставляет значения в таблицу с именем упражнения

def insert_excercise(exc):
    with callOnDB:
        CODB_cursor.execute("INSERT INTO excercise VALUES(:distance,:timeOfRun,:avgHR,:dayOfExcercise)",
                            {'distance':exc.distance,'timeOfRun':exc.timeOfRun,
                            'avgHR':exc.avgHR,'dayOfExcercise':exc.dayOfExcercise})

в другом файле с именем excercise есть класс Excercise с self, distance, timeOfRun, avgHR, dayOfExcercise. exc_1 передается в функцию insert_excercise

exc_1 = Excercise(4, 120, 154, datetime.datetime.now())
insert_excercise(exc_1)

я продолжаю получать: * я не знаю почему, у меня есть 4 столбца с именем (distance, timeOfRun, avgHR, dayOfExcercise), у меня есть импорт sqlite3, импорт datetime и из упражнения Excercise import (это относится к другому файлу с классом упражнения)

1 Ответ

1 голос
/ 19 апреля 2020

Это создает один столбец !

CREATE TABLE excercise (
                    distance INTEGER
                    timeOfRun INTEGER
                    avgHR INTEGER
                    dayOfExcercise timestamp
                    )

Синтаксис требует , между определениями столбцов, например (col1 TYPE, col2 TYPE, col3 TYPE....)

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