Я использую 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.