我目前正在学习Python和MySQL,如果我的表只有一列(实际上是一个自动递增的id和一列),则在插入数据时遇到问题。
我尝试了几种语法,用引号和括号“播放”,实现execute()方法的几种方法,但是没有用。
这是我的声明:
node.featured_image
错误是:“ ValueError:无法处理参数”
如果我添加一列,则该语句变为这一行并可以正常工作:
import mysql.connector
db_name = "purbeurre"
list_categories = ['Drinks', 'Meat', 'Bread']
cnx = mysql.connector.connect(user='toto', password='toto', host='123.456.0.78')
cursor = cnx.cursor()
cursor.execute("USE {}".format(db_name))
insert_categories = ("INSERT INTO Categories (name) VALUES (%s)")
cursor.executemany(insert_categories, list_categories)
如您所见,唯一的区别是列数。
有什么想法吗?
答案 0 :(得分:0)
我收到了答案。
数据列表未正确定义,这是正确的语法:
list_categories = [('Drinks',), ('Meat',), ('Bread',)]
请注意,在括号前将逗号 关闭,以确保列表中的每个元素都是元组。