mysql timestamp为0值时,python读取后的对象为None
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的更多相关文章
- mysql timestamp的默认值
当default 0,default '0000-00-00 00:00:00'都失效的时候,请尝试下 ALTER table `coupon_gift` add column `time_end` ...
- 从0开始的Python学习012数据结构&对象与类
简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的. 在Python中三种内建的数据结构--列表.元组和字典.学会了使用它们会使编程变得的简单. 列表 list是处理一组有序的数据结 ...
- Python笔记day20-面向对象
目录 面向对象 1 装饰器 1.1 装饰器是什么? 1.2 装饰器 2 面向对象 (Object Oriented) 简称OO 2.1 面向对象相关术语 2.2 类和对象 2.3 类和对象的实现和书写 ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- MySQL关于sql_mode的修改(timestamp的默认值不正确)
timestamp的默认值不正确原因: MySQL5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要解决这个问题,就需要修改sql_mod ...
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
- 解决Python向MySQL数据库插入中文数据时出现乱码
解决Python向MySQL数据库插入中文数据时出现乱码 先在MySQL命令行中输入如下语句查看结果: 只要character_set_client character_set_database ch ...
- 当用python读取几十万行文本时,会出现什么状况?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:accumulate_zhang 我在使用python读取几十 ...
- MySQL枚举类型enum字段在插入不在指定范围的值时, 是否是"插入了enum的第一个值"?
刚刚在看<<深入浅出MySQL>>一书的"ENUM类型"一节, 以下面的代码举例, 得出结论: "还可以看出对于不在ENUM指定范围内的值时, 并 ...
随机推荐
- VMwarevSphere Client 链接 vCenter Server中的主机,开启虚拟机提示:在主机当前连接状况下不允许执行该操作
VMwarevSphere Client 链接 vCenter Server中的主机,开启虚拟机提示:在主机当前连接状况下不允许执行该操作很多原因都可以导致该问题出现,例如 vCenter Serve ...
- Win10系统的开机启动项如何去关闭?
我们在使用电脑时会安装许多的应用程序,而有些应用程序会默认在电脑开机时自行启动,不仅影响开机速度,还会在开机后占用电脑内存资源. 那么在Win10系统中,我们该如何查看有哪些开机启动项呢?我们又该怎么 ...
- centos6.4升级openssh7.4p1
Centos6.4版本yum升级openssh版本最高到5.3,想要升级到更高的版本需要重新编译 一.查看当前openssh版本: [root@localhost ~]# ssh -VOpenSSH_ ...
- Oracle【多表查询操作(SQL92&SQL99)】
多表联合查询:需要获取的数据分布在多张表中 SQL92: --笛卡尔积:将多个表的数据进行一一对应,所得的结果为多表的笛卡尔积 select * from emp; select * from dep ...
- 异步消息处理机制相关面试问题-intentservice面试问题详解
IntentService是什么? IntentService是继承并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentService方法和启动传统的S ...
- 第六章 组件 55 组件-使用components定义私有组件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- JAVA NIO 文件部分
NIO java使用NIO的目的是为了提升性能,实际上老的io程序也已经优化过了,速度也有相应的提升. NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector.传 ...
- MariaDB基本命令
--查看当前日期select current_date();--查看当前时间select current_time();--查看当前日期.时间select now();--查看当前用户select u ...
- Python文件查找
#!/usr/bin/python import os import string def get_name(path_name, file_str): dir_name = ...
- puppet完全攻略(二)让puppet代码支持vim高亮显示
puppet完全攻略(二)让puppet代码支持vim高亮显示 2012-06-10 13:33:01 标签:puppet viong puppet完全攻略 原创作品,允许转载,转载时请务必以超链接形 ...