我的问题是为什么一个MySQL行的整数值有一个'L'后缀?下面是详细信息:为什么数据库行元组中的整数具有'L'后缀?
下字典 - 人为地格式化这里为便于显示 -
{'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'}
包括与从表中读取一次,结果拉链MySQL数据库表的列。
我可以通过将这些值转换成int()删除“L”,所以如果该字典是在一个变量中命名snapped_read,我可以这样做:
int(snapped_read['reading'])
和3018L
将变为3018
。
我只是好奇为什么整数显示这种方式。
备注:MySQLdb将所有整数类型转换为Python 2.x中的长类型 – 2012-08-01 18:09:37
有趣的知道。看起来只有'BIGINT'需要,所以我猜这是为了Python界面的一致性。 http://dev.mysql.com/doc/refman/5.6/en/integer-types.html – JAB 2012-08-01 18:10:53
是的,不知道为什么,但即使'TINYINT'列已转换为长类...需要进一步调查,但我也认为这是由于Python的数据库接口API。 – 2012-08-01 18:15:20