首页 > 解决方案 > Python:并非所有参数都在 SQL 语句中使用

问题描述

我无法在 mysql 数据库中插入字符串列表。我不断收到错误“并非所有参数都在 SQL 语句中使用”。我做错了什么吗

rowval = ['1.0', '2.0','1.5', '1.6', '', '.85']
query_string = 'INSERT INTO table(tech) VALUES (%s)'
cursor.execute(query_string, rowval)
cursor.close()
database.commit()

标签: pythonmysql

解决方案


既然你有rowval = ['1.0', '2.0','1.5', '1.6', '', '.85'],你应该有这样的东西在你的query_string

VALUES (%s, %s, %s, %s, %s, %s)

或者根据您设置数据库的方式,您可以执行以下操作:

query_string = 'INSERT INTO database.<TABLE_NAME> (parameter1, parameter2, parameter3, parameter3, parameter4, parameter5, parameter6) VALUES (%s, %s, %s, %s, %s, %s)'

或者在你的情况下,如果你不想只插入一列,你会这样做:

value_for_tech = <SOME_VALUE>
query_string = 'INSERT INTO DB.<TABLE_NAME> (tech) VALUES (%s)'
cursor.execute(query_string, value_for_tech)

遵循sql查询构建的规则:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

推荐阅读