Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

AttributeError:objeto 'tuple' não tem atributo 'encode' - MySQLdb Python


Os parâmetros de consulta devem ser passados ​​como um segundo parâmetro para execute() :
cursor = self.conn.cursor() 
query = "SELECT name FROM TABLENAME WHERE id = %s"
cursor.execute(query, (str(id.decode('unicode_escape').encode('ascii', 'utf-8')), ))

Observe que você não precisa das aspas simples em %s placeholder - o driver de banco de dados os colocaria automaticamente, se necessário, dependendo do tipo de parâmetro de consulta.