这个问题已经被问到了bevor(here),但没有答案对我有用,不幸的是,我不允许添加评论,因为我是新来的。
我不知道还能做什么,只想再问一次这个问题,对不起,请告诉我正确的方法。
我想将Python变量插入到由Python变量命名的MySQL表中。
我想,创建表的方法是:
curs.execute ("""CREATE TABLE IF NOT EXISTS %s LIKE table""" %(today))
我还发现要插入这样的值:
curs.execute (
""" INSERT INTO table (column)
VALUES (%s) """,
(variable))
现在我试着
today = "table_name"
variable = "name"
curs.execute (
""" INSERT INTO %s (column)
VALUES (%s) """,
( table, variable ))
我会得到这个错误:
(1064,“您的SQL语法有错误;请查看对应于MySQL服务器版本的手册,以获取在“table_name”(第1行的列…)附近使用的正确语法”
我也试过:
today = "table_name"
variable = "name"
curs.execute (
""" INSERT INTO %s (column)
VALUES (%s) """
% ( table, variable ))
我会得到这个错误:
(1054,“字段列表”中的未知列“name”)
我想弦有点问题…
谢谢你的回答!
最佳答案
尝试用%s
替换?
,并让sqlite处理插入操作。(还有助于防止web应用程序中的SQL注入攻击)
table_name = "today"
variable = "name"
curs.execute ("INSERT INTO ? (column) VALUES (?)",(table_name, variable))