Je me connecte à la base de données mysql via le connecteur mysql et lance une simple requête pour extraire une liste d'identifiants. Je dois faire une boucle sur cette liste et les passer dans un autre code. Pour une raison quelconque, je reçois une liste de tuples. Est-ce que ce comportement est attendu? Sinon, qu'est-ce que je fais de mal? Voici l'extrait de mon code:Le connecteur mysql Python renvoie le tuple
import mysql.connector
conn = mysql.connector.connect(host='127.0.0.1', database='t', user='r', password='pwd')
cursor = conn.cursor()
query = ("select id from T where updated < '%s'" % (run_date))
cursor.execute(query)
for row in cursor:
print (row)
cursor.close()
Je reçois le suivant retour (d'un champ INT en d/b):
(Decimal('991837'),)
(Decimal('991838'),)
(Decimal('991839'),)
(Decimal('991871'),)
(Decimal('991879'),)
(Decimal('991899'),)
(Decimal('992051'),)
(Decimal('992299'),)
(Decimal('992309'),)
Pas vraiment lié à la question originale que j'ai posée, mais comment convertir (Decimal ('992309'),) en 992309? – epipko
@epipko Saisissez le premier élément du tuple ('[0]'), alors vous avez un [Objet décimal] (https://docs.python.org/2/library/decimal.html#decimal-objects) que vous pouvez convertir en 'int' si vous en avez besoin. – glibdud