[英]sqlite3.OperationalError: near “ ”: syntax error
嗨,你好嗎? 我希望如此,所以我正在開發一個商業應用程序,但是這在sql中給出了一個錯誤: sqlite3.OperationalError:“José”附近:語法錯誤 ,好像短語的空格中有錯誤
cursor.execute(f"""update funcionarios
set nome = {nome}, senha = {senha}, telefone = {telefone},
endereco = {endereco}, anotacoes = {anotacao}
where cpf = {pesq}
""")
名稱“ ErlonJunior”不帶空格可以使用,但是帶空格的“JoséStreet”可以返回此錯誤:
錯誤sqlite3.OperationalError:“José”附近:語法錯誤:
不要手工格式化SQL字符串(在您的情況下使用f字符串),這容易出錯。 您可以在SQLite3中使用參數化查詢:
import sqlite3
with sqlite3.connect(":memory:") as con:
cur = con.cursor()
cur.execute('CREATE TABLE funcionarios (id integer PRIMARY KEY, nome text)')
cur.execute('INSERT INTO funcionarios (nome) VALUES (:nome)',
{'nome': 'Rua Jose'})
cur.execute('UPDATE funcionarios SET nome = :nome WHERE id = 1',
{'nome': 'Santa Maria'})
cur.execute('SELECT * FROM funcionarios')
print(cur.fetchall())
打印:
[(1, 'Santa Maria')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.