我的问题是为什么MySQL行的整数值有一个"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",因此,如果该字典位于名为snaped_read的变量中,我可以这样做:

int(snapped_read['reading'])3018L将变为3018.

我只是好奇为什么整数会这样出现.

推荐答案

因为在Python3之前的Python版本中,长整数文本用lL后缀表示.在Python3中,ints和longs被合并为int,其功能与以前的long非常相似.

请注意,从技术上讲,Python(2)的int相当于C的long,而Python的long更像是一个具有无限精度的BigNumber类型(现在是Python 3的int类型)

http://docs.python.org/library/stdtypes.html#numeric-types-int-float-long-complex

Mysql相关问答推荐

为什么IN子句中有GROUP BY会导致查询变得不可执行?

我如何才能从MySQL过程中获取LARAVEL端的数据?

表列中的SQL SUM MENY值记录单个查询

Python - 执行原始 SQL 时获取更新查询 (Mysql) 的结果

使用Workbench时如何添加mysqldump配置标志

根据名称将值从一个字段复制到不同记录的同一字段

排序子查询结果并返回每个 ID 的第一行

从 MySQL WordPress Select 最后一行

生成直到 10 的平方数序列

仅当 SELECT 语句在 MySQL 中给出空集时才执行 UPDATE 语句

MySQL 在第一个匹配行后停止搜索 N 行(不是 LIMIT)

有没有比使用 MySQL 计划事件更好的方法来更新我的数据库表中的列?

一次更新mysql中的多个列

谁能帮我优化低性能的mysql查询

MySQL - 使一对值唯一

如何通过 mysql workbench 将数据导入 mysql 数据库?

INSERT ... 使用 WHERE 进行重复的密钥更新?

如何将时刻 JS 时间插入 MySQL

在 Postgresql 中模拟 MySQL 的 ORDER BY FIELD()

数据截断:第 1 行的logo列数据太长