尝试使用用户输入删除时出现Python连接器错误

时间:2016-06-27 12:47:00

标签: python mysql syntax-error mysql-connector

我已经实现了大多数其他基本数据库事务,包括插入,更新,具有类似语法的选择,但在尝试删除时,我收到错误

  

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)

1 个答案:

答案 0 :(得分:3)

您需要将查询参数作为元组传递给cursor.execute(),即使对于单个参数也是如此。试试这个:

sql = "DELETE FROM users WHERE email = %s"
cursor.execute(sql, (email,))