如何通过Python操作MySQL为新增列赋值?报错求助
问题解决:MySQL插入值报错
错误原因
你的代码里,val = ("Karthik")并没有创建一个元组,Python会把它解析成普通字符串。而mysql.connector的execute()方法要求第二个参数必须是元组、列表或其他序列类型,因此会触发错误。
修正后的代码
import mysql.connector mydb = mysql.connector.connect( host = 'localhost', username = 'rt', password = 'rt', database = 'demo' ) mycursor = mydb.cursor() sql = "INSERT INTO customers_1 (Address) VALUES(%s)" val = ("Karthik",) # 加逗号定义单元素元组 mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.")
额外检查项
- 确认
customers_1表存在,且Address列的字段类型与插入值匹配(比如是否为VARCHAR类型且长度足够) - 确认数据库用户
rt拥有demo.customers_1表的INSERT权限 - 检查数据库连接参数(主机、密码、库名)是否正确,确保连接正常
内容的提问来源于stack exchange,提问作者Bruce_Wayne
相关产品推荐
相关产品推荐

