回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在Python中使用MySQL,但我的更新函数没有更新行,我无法理解消息错误</p>
<pre><code>def atualizaCartelaTabela(campo,valor,jogador):
try:
connection = mysql.connector.connect(host='localhost',
user='root',
password='root',
database='modular')
cursor = connection.cursor()
sql = """UPDATE Cartela
SET %s = %s
WHERE PONTOS = %s"""
atualiza = (campo,valor,jogador)
cursor.execute(sql,atualiza)
except Error as e:
print("Erro ao atualizar campos da tabela Cartela ->", e)
finally:
if connection.is_connected():
cursor.close()
connection.close()
def atualizaCartelaTabela(campo,valor,jogador):
try:
connection = mysql.connector.connect(host='localhost',
user='root',
password='root',
database='modular')
cursor = connection.cursor()
sql = """UPDATE Cartela
SET %s = %s
WHERE PONTOS = %s"""
atualiza = (campo,valor,jogador)
cursor.execute(sql,atualiza)
except Error as e:
print("Erro ao atualizar campos da tabela Cartela ->", e)
finally:
if connection.is_connected():
cursor.close()
connection.close()
atualizaCartelaTabela('Um',2,'Jogador 1')
</code></pre>
<p>我得到的错误是:</p>
<blockquote>
<p>1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Um' = 2
WHERE PONTOS = 'Jogador 1'' at line 2</p>
</blockquote>
<p>这是用于创建表(工作)的函数:</p>
<pre><code>def criaTabelaCartela():
try:
connection = mysql.connector.connect(host='localhost',
user='root',
password='root',
database='modular')
cursor = connection.cursor()
cursor.execute("CREATE TABLE Cartela (PONTOS VARCHAR(10), Um int(2), Dois int(1), Tres int(1), Quatro int(1), Cinco int(1), Seis int(1), Full int(1), SequenciaBaixa int(1), Trinca int(1), Quadra int(1), SequenciaAlta int(1), Yahtzee int(1), PontuaçãoFinal int(1))")
connection.commit()
except Error as e:
print("Erro ao criar tabela Cartela ->", e)
finally:
if connection.is_connected():
cursor.close()
connection.close()
</code></pre>