Я немного опаздываю на вечеринку, но если вы ищете в Google "python sqlite delete row", это первое, что возникает, и у меня возникла та же проблема, когда вещи не доставлялись DELETE'd из моей sqlite DB,Я использую Python 2.7 в Debian Jessie.
Ранее, когда я писал код Python для добавления и извлечения информации в базе данных sqlite, я писал команды с правильной прописной буквой, где это было необходимо, и это работало.
curs.execute("SELECT example_column1 FROM example_table WHERE example_column2=(?)", (Variable,))
Однако ...
curs.execute("DELETE FROM example_table WHERE example_column1=(?)", (Variable,)):
По некоторым причинам это не работает с командой DELETE.Я должен был отправить эту команду в нижнем регистре, прежде чем sqlite будет учитывать отправляемую команду.
conn=sqlite3.connect('example.db')
curs=conn.cursor()
curs.execute("delete from example_table where example_column=(?)", (Variable,))
conn.commit()
conn.close()
Я понятия не имею, почему.Я перепробовал все ранее упомянутые методы, но отправка команды в нижнем регистре была единственным способом заставить ее работать.Надеюсь, что это поможет любым борющимся неофитам в их путешествии в Python и sqlite.