Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql更新语法错误Python_Python_Sql Update_Mysql Python - Fatal编程技术网

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