Mysql更新语法错误Python
我一直在遵循前面的答案,但仍然出现语法错误: 我的代码是:Mysql更新语法错误Python,python,sql-update,mysql-python,Python,Sql Update,Mysql Python,我一直在遵循前面的答案,但仍然出现语法错误: 我的代码是: def postToMySQL(data,fieldname,table,col): if fieldname == "Year": sql = "INSERT INTO " + table + " ("+ fieldname + ") VALUES (%s)" c.execute(sql, data) else: c.execut
def postToMySQL(data,fieldname,table,col):
if fieldname == "Year":
sql = "INSERT INTO " + table + " ("+ fieldname + ") VALUES (%s)"
c.execute(sql, data)
else:
c.execute ("""
UPDATE %s
SET US=%s
WHERE ID=%s
""", (table, data, col))
然后,该表如下所示:
语法错误为:
_mysql_exceptions.ProgrammingError:(1064…“OilProvedReserveStory”附近的第1行设置US='36.533',其中ID=1'
你能发现错误吗?谢谢,应该是这样的,没有引号 设置我们='36.533' 你能试试这个吗
UPDATE %s
SET US=%s
WHERE ID=%s
干杯。我在发布之前试过了,但忽略了检查错误是否不同。现在出现了:TyperError:不是所有在字符串格式期间转换的图形。请注意,从列表中删除fieldname仍然会出现错误:“”OilProvedReserveStory'\n\t SET-US='36.533'\n\t其中ID=1'。\n这与\t business?我不认为\n\t有什么关系,因为我尝试将所有内容放在一行上,但由于feco,错误变成:“OilProvedReserveStory”在第1Ah行设置US='36.533',其中ID=1',但如果我显式地在表名中输入ie:else:c.execute(““UPDATE OilProvedReserveStory SET US=%s,其中ID=%s”“”,(数据,列))有人能解释一下为什么会出现这种情况吗?我是否必须每次都像这样进行蛮力字符串连接?sql=“插入到“+表+”(“+字段名+”)值(%s)”有一个“after”OilProvedReserveStory,请小心使用“因为它在SQL中表示varchar,请在输入SQL之前尝试连接字符串,并确保没有孤立”
UPDATE %s
SET US=%s
WHERE ID=%s