翔云

Just try, don't shy. 最新文章请点击
随笔 - 294, 文章 - 0, 评论 - 27, 阅读 - 49万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mysql timestamp为0值时,python读取后的对象为None

Posted on   翔云123456  阅读(530)  评论(0编辑  收藏  举报

MySQL数据表中,如果timestamp类型的字段,值为0, python从数据库读取数据后,得到对象是什么类型,是否为None呢?

下面来测试下。

创建数据表

首先创建数据表,其中字段pr_rule_update_time为timestamp类型,值为0.

CREATE TABLE `orange_service` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `service_group_name` varchar(100) NOT NULL,
  `pr_rule` tinyint(3) NOT NULL DEFAULT '-1',
  `pr_rule_update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `pr_rule_reason` varchar(256) NOT NULL DEFAULT '',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_host_port` (`service_group_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据

向数据表中插入一条记录。

mysql> insert into orange_service(service_group_name, pr_rule, pr_rule_reason) values('test', 0, '');
Query OK, 1 row affected (0.03 sec)

mysql> select * from orange_service\G
*************************** 1. row ***************************
                        id: 1
        service_group_name: test
            promotion_rule: 0
promotion_rule_update_time: 0000-00-00 00:00:00
     promotion_rule_reason:
               create_time: 2019-10-08 16:52:19
1 row in set (0.03 sec)

python 读取数据

通过python读取数据。

import MySQLdb

host = "10.66.99.88"
port = 5002
sql = "select * from cmdb.orange_service"
user = "test"
passwd = "test123456"

conn = MySQLdb.connect(host=host, port=port, user=user,passwd=passwd, connect_timeout=2, charset="utf8")

cursor = conn.cursor()
cursor.execute(sql)

ret = cursor.fetchone()

print(ret)

cursor.close()
conn.close()

output:

(1, 'test', 0, None, '', datetime.datetime(2019, 10, 8, 16, 52, 19))

从输出可以看到,timestamp类型的字段,通过python读取后,值为None。

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2018-10-13 Golang mysql使用举例---连接本地数据库
2018-10-13 mysql通信协议
2018-10-13 大小端定义
点击右上角即可分享
微信分享提示