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。

mysql timestamp为0值时,python读取后的对象为None的更多相关文章

  1. mysql timestamp的默认值

    当default 0,default '0000-00-00 00:00:00'都失效的时候,请尝试下 ALTER table `coupon_gift` add column `time_end` ...

  2. 从0开始的Python学习012数据结构&对象与类

    简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的. 在Python中三种内建的数据结构--列表.元组和字典.学会了使用它们会使编程变得的简单. 列表 list是处理一组有序的数据结 ...

  3. Python笔记day20-面向对象

    目录 面向对象 1 装饰器 1.1 装饰器是什么? 1.2 装饰器 2 面向对象 (Object Oriented) 简称OO 2.1 面向对象相关术语 2.2 类和对象 2.3 类和对象的实现和书写 ...

  4. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  5. MySQL关于sql_mode的修改(timestamp的默认值不正确)

    timestamp的默认值不正确原因: MySQL5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要解决这个问题,就需要修改sql_mod ...

  6. Python连接MySQL数据库执行sql语句时的参数问题

    由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...

  7. 解决Python向MySQL数据库插入中文数据时出现乱码

    解决Python向MySQL数据库插入中文数据时出现乱码 先在MySQL命令行中输入如下语句查看结果: 只要character_set_client character_set_database ch ...

  8. 当用python读取几十万行文本时,会出现什么状况?

      前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:accumulate_zhang    我在使用python读取几十 ...

  9. MySQL枚举类型enum字段在插入不在指定范围的值时, 是否是"插入了enum的第一个值"?

    刚刚在看<<深入浅出MySQL>>一书的"ENUM类型"一节, 以下面的代码举例, 得出结论: "还可以看出对于不在ENUM指定范围内的值时, 并 ...

随机推荐

  1. centos7搭建docker并部署lnmp (转)

      1.首先呢先更新yum源 yum -y update 2.1.安装docker存储库 yum install -y yum-utils \ device-mapper-persistent-dat ...

  2. ubuntu版本信息查看

    1.cat /etc/issue 2.cat /etc/lsb-release 3.uname -a 4.cat /proc/version 5.lsb_release -a 显卡信息1.lspci ...

  3. 详解python中的生成器表达式

    什么是生成器表达式 还记得列表解析吗?我们把[]换成()就变成生成器表达式了. g = (x for x in [1, 2, 3, 4]) print(g) # <generator objec ...

  4. 异步任务——AsyncTask的初步认识

    ProgressBar_test.class package com.example.administrator.ten_9; import android.app.Activity; import ...

  5. 使用Parallel计算目录中的文件字节长度

    /// <summary> /// 根据通配符和搜索条件计算给定目录中的文件字节长度 /// </summary> /// <param name="path& ...

  6. 移动端的文本框获取焦点时导致fixed或absolute定位的按钮被手机键盘顶上去的问题

    var win_h = $(window).height();//关键代码 window.addEventListener('resize', function () { if($(window).h ...

  7. C#DataTable导出Excel,并实现合并单元格

    asp.net webwofrm后台代码----------建议Framework4.0及以上,3.5试过出现好多莫名错误... 首先导入两个程序集.我的是 office2003,引用的COM里面的  ...

  8. Python assert statement

    Python assert statement 关于assert想找到文档中的例子:但是搜索python文档没找到. 看到这篇文章:对初学者很有帮助:https://www.programiz.com ...

  9. Alpha版本

    这个作业属于哪个课程 [课程链接][ https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/] 这个作业要求在哪里 [作业要求][ ...

  10. 14-SQLServer索引碎片

    一.总结 1.数据库的存储本身是无序的,建立聚集索引之后,就会按照聚集索引的物理顺序存入硬盘: 2.建立索引完全是为了提升读取的速度,相对写入的速度就会降低,没有索引的表写入时最快的,但是大多数系统读 ...