import pymysql
import os
conn = pymysql.connect(host='localhost',database='pyp',user='root',password='')
a = conn.cursor()
i= raw_input('enter column name : ')
sql='UPDATE report SET %s = "xyz" WHERE Id = 1'
a.execute(sql,(i))
conn.commit()
conn.close()
评论:改进格式 无法使用python
更新表的输入列的值 import pymysql
import os
conn = pymysql.connect(host='localhost',database='pyp',user='root',password='')
a = conn.cursor()
i= raw_input('enter column name : ')
sql='UPDATE report SET %s = "xyz" WHERE Id = 1'
a.execute(sql,(i))
conn.commit()
conn.close()
[预期输出] --------------------------->
是将id为1的选定值列更新为xyx。
程序应询问列名并更改输入列名的值。
[错误] --------->
输入列名:name
ProgrammingError:(1064,你在SQL语法中有错误;请查看与你的MariaDB服务器版本相对应的手册,以便在\'\'name \'=“name”附近使用正确的语法.WHERE Id = 1''在第1行')
答案 0 :(得分:0)
您可能尝试将“name”键作为“name”键传递 这样做 -
sql='UPDATE report SET {} = "xyz" WHERE Id = 1'
a.execute(sql.format(str(i)))
如果它解决了您的问题,请告诉我。