The type_code must compare equal to one of Type Objects defined below.
这里的诀窍在于,可以有多个不同类型的代码,这些代码比较起来都等于同一个类型对象。在>>> MySQLdb.constants.FIELD_TYPE.TIMESTAMP
7
>>> MySQLdb.constants.FIELD_TYPE.DATETIME
12
>>> MySQLdb.constants.FIELD_TYPE.TIMESTAMP==MySQLdb.DATETIME
True
>>> MySQLdb.constants.FIELD_TYPE.DATETIME==MySQLdb.DATETIME
True
>>> MySQLdb.DATETIME
DBAPISet([12, 7])
(在DB-API规范中关于DBAPITypeObject的说明中概述了这一魔力是如何实现的。一个更传统的接口可能已经用子类实现了这一点…)
这使得MySQLdb能够提供关于该列的更丰富的信息,而不仅仅是它是否是日期和时间类型,同时还允许对字符串和数字进行简单的测试。在
当然,如果你开始比较MySQLdb.constants.FIELD_类型直接键入依赖于MySQLdb功能但不会移植到其他数据库的类型。在