用Python插入MySQL表
我正在尝试将基本数据插入MySQL表,但没有成功,我正在使用基本教程作为演示 mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获取第1行“%s”附近要使用的正确语法 我的MySQL用Python插入MySQL表,python,mysql,Python,Mysql,我正在尝试将基本数据插入MySQL表,但没有成功,我正在使用基本教程作为演示 mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获取第1行“%s”附近要使用的正确语法 我的MySQL CREATE TABLE awesome ( id int NOT NULL AUTO_INCREMENT, test varchar(50), PRIMARY KEY (id) ); 我的Pyth
CREATE TABLE awesome (
id int NOT NULL AUTO_INCREMENT,
test varchar(50),
PRIMARY KEY (id)
);
我的Python代码
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="pass",
database="db"
)
mycursor = mydb.cursor()
sql = "INSERT INTO awesome (test) VALUES (%s)"
val = ("Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
是的,当val元组中只有一个参数时,问题就会出现。使用 val=(“21号公路”)
请注意末尾的逗号。在
%s
周围添加单引号,这样会将%s添加到数据库中,我需要它来添加变量val,Highway 21。使用val=(“Highway 21”)
。注意逗号;它使右侧成为一个内部有一个项的元组。没有逗号,Python将右边解释为字符串——它只是将括号内的表达式计算为字符串。@unutbu解决了这个问题,谢谢!相关的: