My question is why do a MySQL row's integer values have an 'L' suffix? Here are the details:
The following dictionary -- artificially formatted here for ease of display --
{'estimated': '', 'suffix': '', 'typeofread': 'g', 'acct_no': 901001000L, 'counter': 0, 'time_billed': datetime.datetime(2012, 5, 1, 9, 5, 33), 'date_read': datetime.datetime(2012, 3, 13, 23, 19, 45), 'reading': 3018L, 'meter_num': '26174200'}
is comprised of a MySQL database table's columns zipped with the result of reading once from the table.
I can remove the 'L' by passing these values into int(), so if that dictionary were in a variable named snapped_read, I could do this:
int(snapped_read['reading'])
and 3018L
would change to 3018
.
I'm just curious as to why integers show up this way.
BIGINT
would require that, though, so I'm guessing it's for consistency in terms of the Python interface. – Aug 1 '12 at 18:10TINYINT
columns got converted to long type... Needs further investigation, but I also think it's due to the Python's database interface API. – Aug 1 '12 at 18:15