【发布时间】:2017-12-07 13:57:30
【问题描述】:
我对 Mysql 非常陌生,并且使用 python 将文件转储到 db 中。我有 2 张桌子 文件格式为:
id name sports
1 john baseball
2 mary Football
喜欢学生和运动 学生桌
id name
1 John
2 Mary
这里 id 是主键
&在运动桌上
stu_id sports_title
1 Baseball
2 Football
这里的 stu_id 是学生表的外键引用
我的问题是
query="insert into sports (stu_id,name)VALUES (%d,%s)"
("select id from student where id=%d,%s")
#words[0]=1 ,words[2]=Baseball
args=(words[0],words[2])
cursor.execute(query,args)
在执行这段代码时,我正面临着
"Not all parameters were used in the SQL statement")
ProgrammingError: Not all parameters were used in the SQL statement
【问题讨论】:
-
请详细说明
words是什么。 -
... 以及
query的情况。 -
@IljaEverilä 我猜
words是顶部显示的文件中的行的字段。 -
@Barmar 如果你不得不猜测,这个问题是不完整的。它也可以是行,但编辑清楚地表明它是一行。
-
至少使用 mysql.connector DB-API 驱动程序all placeholders should be either %s or %(name)s,这取决于您如何传递参数。数字、字符串等之间没有区别。另见:stackoverflow.com/questions/5785154/…