Синтаксическая ошибка при запуске Python, но не при непосредственном выполнении SQL - PullRequest
0 голосов
/ 17 октября 2019

Я использую DB Browser для запуска кода SQL для таблицы. Это прекрасно работает. Когда я пытаюсь запустить его в своем коде Python, я получаю синтаксическую ошибку:

File "mpfinder.py", line 197, in clean_table
    """)
sqlite3.OperationalError: near "(": syntax error

Код, который я использую, выглядит следующим образом:

def clean_table():
    c.executescript("""
        CREATE TABLE temp_table as SELECT * FROM float_mp;
        DELETE FROM float_mp;
        INSERT INTO float_mp
        SELECT number, mpPrice, mpTitleRaw, mpSeller, mpPlace, distance, itemURL, imgURL, datum
        FROM    (SELECT number, mpPrice, mpTitleRaw, mpSeller, mpPlace, distance, itemURL, imgURL, datum,
                        ROW_NUMBER() OVER (PARTITION BY itemURL ORDER BY datum DESC) AS RowNumber
                 FROM   temp_table) AS a
        WHERE   a.RowNumber = 1;
        DROP TABLE temp_table;
        """)
    conn.commit()

Я не могу обернуть головувокруг того факта, что он работает как SQL-код, но не когда я запускаю его через Python.

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