我已经实现了大多数其他基本数据库事务,包括插入,更新,具有类似语法的选择,但在尝试删除时,我收到错误
mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在'%s'附近使用。在第1行
正确的语法是什么?我必须根据用户输入删除。这是我的代码的缩短版本,减去插入,选择,更新部分:。
elif (choice == 4):
mail=raw_input('Enter email of user to be deleted:')
print 'Deleting..'
delete_user_details(mail)
def delete_user_details(email):
sql = "DELETE FROM users WHERE email = %s"
cursor.execute(sql,email)
答案 0 :(得分:3)
您需要将查询参数作为元组传递给cursor.execute()
,即使对于单个参数也是如此。试试这个:
sql = "DELETE FROM users WHERE email = %s"
cursor.execute(sql, (email,))