我正在尝试将数据插入我的 mysql 数据库,但我总是收到参数有问题的错误,我想将其添加到我的插入语句中,我尝试了各种解决方案,带有"s"、"s"的解决方案有效,它入到我的数据库中。
有没有人知道可能出了什么问题?
谢谢。
try:
conn = mysql.connect()
cursor = conn.cursor()
insert_cmd = "INSERT INTO TBTAB VALUES(%s, %s, %s, %s, %s)"
#insert_cmd = "INSERT INTO TBTAB VALUES('s', 's', 's', 's', 's')"
# insert_cmd = "INSERT INTO TBTAB VALUES(?, ?, ?, ?, ?)"
tpa= ("szilva", "barack", "meggye", "alma", "korte")
#cursor.execute("INSERT INTO TBTAB (UserName, Email, TextBoxCont, NodeChosen, CurDate) VALUES ('Caal', 'TomErichsen', 'Svanger', '400esd6', 'Nqdwasorway');")
cursor.execute(insert_cmd.format(tpa))
conn.commit()
return render_template('form.html')
except Exception as e:
return str(e)
错误:
(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s, %s, %s, %s, %s)' at line 1")
您应该将查询参数作为元组传递给cursor.execute()
,而不是将它们插入到查询中,即:
cursor.execute(insert_cmd, tpa)
查询中的%s
用作单个参数的占位符。