无法使用python更新表的输入列的值?

时间:2017-05-22 06:48:05

标签: python-2.7 mysql-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()

评论:改进格式 无法使用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行')

1 个答案:

答案 0 :(得分:0)

您可能尝试将“name”键作为“name”键传递 这样做 -

sql='UPDATE report SET {} = "xyz" WHERE Id = 1'
a.execute(sql.format(str(i)))

如果它解决了您的问题,请告诉我。