cbold
cbold

Reputation: 5

Converting a tuple into an integer in python 3?

I have a tuple with a single value that's the result of a database query (it gives me the max ID # currently in the database). I need to add 1 to the value to utilize for my subsequent query to create a new profile associated with the next ID #.

Having trouble converting the tuple into an integer so that I can add 1 (tried the roundabout way here by turning the values into a string and then turning into a int). Help, please.

sql = """
SELECT id
FROM profiles
ORDER BY id DESC
LIMIT 1
"""

cursor.execute(sql)
results = cursor.fetchall()
maxID = int(','.join(str(results)))
newID = maxID + 1

Upvotes: 0

Views: 2048

Answers (1)

Martijn Pieters
Martijn Pieters

Reputation: 1121466

If you are expecting just the one row, then use cursor.fetchone() instead of fetchall() and simply index into the one row that that method returns:

cursor.execute(sql)
row = cursor.fetchone()
newID = row[0] + 1

Rather than use an ORDER BY, you can ask the database directly for the maximum value:

sql = """SELECT MAX(id) FROM profiles"""

Upvotes: 1

Related Questions