Python项目执行SQL插入操作遇MariaDB 1064语法错误求助
问题解决:MySQL/MariaDB插入数据时的SQL语法错误
错误原因
你执行的INSERT语句不完整,缺少VALUES子句来指定要插入的数据,同时也没有将准备好的变量传入执行方法,这直接触发了1064语法错误。
修正后的代码
def inputValues(): supplierValue = choice.get() productValue = name.get() weightValue = weight.get() print(supplierValue, productValue, weightValue) query_vals = (supplierValue, productValue, weightValue) # 补充VALUES占位符,并传入参数 command_handler.execute("INSERT INTO stock(Supplier, Product, Weight) VALUES (%s, %s, %s)", query_vals) db.commit()
关键说明
- 必须在
INSERT语句末尾添加VALUES (%s, %s, %s),其中%s是MySQL连接器的参数占位符,用来对应你要插入的三个字段值。 - 把
query_vals作为第二个参数传给execute()方法,这不仅能修复语法错误,还能避免SQL注入攻击,是数据库操作的安全规范。
内容的提问来源于stack exchange,提问作者Joodz
相关产品推荐
相关产品推荐

