MySQL中字段类型为timestamp的小坑】的更多相关文章

之前遇到过一个MySQL的字段为timestamp类型的小坑. MySQL中一个字段存储时间类型数据的时候,该字段的类型如果为timestamp类型的话,最多只能存储到2038-01-19 11:14:07这个时间,大于这个时间段就会出现错误. 这是因为timestamp类型字段的长度为4个字节,最大值是231-1,是以从1970-01-01 00:00:00开始的计算的毫秒数. 所以如果需要存储2038-01-19 11:14:07之后的时间的话,字段类型选择datetime类型即可.…
     一 .环境说明: 在目前项目中,有这样的一张表,用来记录会议的相关信息,例如:会议的内容.会议的参会人员.会议的地点.会议的状态(会议是否已结束.会议是否被撤销).会议的开始时间以及该条信息的创建时间. 会议的开始时间和信息的创建时间的类型都设置为了timestamp,并且默认值是CURRENT_TIMESTAMP.   二.如何入坑的 目前有这样的一个需求:用户发起的会议可以手动的进行撤销的操作,后台的逻辑自然需要更新该条会议信息,到了这里问题就来了:我手动更新了该条信息之后,之前设…
在mysql中存储时间,我们可以用datetime 格式,timestamp格式,也可以用int格式.那么我们设计的时候该如何考虑呢? 首先,我觉得应该明白这几个格式究竟是如何的,然后看看他们的区别,这样我们才能思考何时使用正确的格式. DATETIME格式,默认是"YYYY-MM-DD HH:MM:SS",这19个字符表示的,从1000-01-01 00:00:00-9999-12-31 23:59:59 . TIMESTAMP格式也是'YYYY-MM-DD HH:MM:SS'这样的…
  本文的内容依旧是讨论mysql字段类型为时间戳timestamp的问题,在遇到了之前的那个问题之后,今天测试人员又给我提了一个bug,是在前端页面提交会议表单的时候,选择了一个会议时间(2059年的时间),报了一个错,服务器直接炸掉了,抛出定制的错误信息,然后我瞢逼了一圈,感觉代码没有写错,数据库中的字段类型也都是正确的,然后看看抛出的异常信息,是mysql数据库抛出的异常,提示时间格式有问题,但是看了看,也没有什么问题.   自己尝试了一下选择一个比较正常一点的时间,表单可以正常提交,也没…
1.DATETIME的日期范围是1001--9999年,TIMESTAMP的时间范围是1970--2038年. 2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示的值也依赖于时区.在mysql服务器,操作系统以及客户端连接都有时区的设置. 3.DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节.因此,TIMESTAMP比DATETIME的空间利用率更高. 4.DATETIME的默认值为null.TIMESTAMP的字段默认不为空(not n…
select sum(studychj) as tofflinejz from afterline where studybegin >= '2010-01-01 00:00:00' and studyend <= '2010-12-01 00:00:00'; 这么写不报错,但得出结果不准确. 方法一: 你也可以: select * from t1 where unix_timestamp(time1) > unix_timestamp('2011-03-03 17:39:05') an…
修改后 详细见楼下链接 http://ustb80.blog.51cto.com/6139482/1287847…
今天在做项目过程中,查询一个表中数据时总碰到这个问题:      java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date 查看数据库,发现某一字段为date类型,字段值为'0000-00-00' ;查看代码,我用的是rs.getString("字段名");于是把代码改成getDate("字段名");问题依旧!     查找资料发现:在数据库连接url后面加上ze…
MySQL修改字段类型的命令是: mysql> alter table 表名 modify column 字段名 类型; 假设在MySQL中有一个表为:address,有一个字段为city 初始情况下为varchar(30),那么修改类型为char可以在MySQL控制台输入: alter table address modify column city char(30); 注意修改类型应该谨慎,因为类型之间数据需要转换,可能会导致数据出错或者丢失 如果要将varchar(30)长度进行扩展可以使…
由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其使用.(由于本人还算是菜鸟哪里写的不对请多多指正,有兴趣的可以探讨一下) MySQL字段类型 int型包括(tinyint, smallint, mediumint, int, bigint)     tinyint是1个字节表达范围就是2的8次方(-128-128) 或者(0-255) 很多人不明…
解决python写入mysql中datetime类型遇到的问题 刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值.python程序中有对应的一个datetime变量dt. 现在需要往mysql数据库中添加记录,每次添加时,将datetime型变量dt写入mysql数据库tablename表中exTime字段里. 问题,如何写入?调试时,总是无法写入. 运行环境:windows10 pyth…
mysql中geometry类型的简单使用 编写本文的目的: 让和两天前的我一样的初学者,能够更快的使用geometry类型存储空间点数据    也是为了自己加深印象,更熟练的使用geometry类型 建表脚本 CREATE TABLE `z_gis` ( `id` varchar() NOT NULL, `name` varchar() NOT NULL COMMENT '姓名', `gis` geometry NOT NULL COMMENT '空间位置信息', `geohash` varc…
数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money   System.Decimal nchar String n…
原文地址http://database.51cto.com/art/200905/124240.htm MySQL中的datetime与timestamp比较 本文将通过实例比较MySQL中的datetime与timestamp,虽然这两种方法其实表示同一种类型,但还是有一定的区别. AD: 相同 显示 TIMESTAMP列的显示格式与DATETIME列相同.换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS. 不同 范围 datetime 以'YYYY-MM-D…
数据库中字段类型对应C#中的数据类型: 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money System.Decimal nchar String ntext String numeri…
数据库中字段类型对应C#中的数据类型:数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money System.Decimal nchar String ntext String numeric…
Oralce的字段类型整理如下: Mysql的字段类型整理如下: 最后面一栏是对应JAVA的基本类型.希望对初学者有用,初学者在学习JAVA的时候,不知道怎么把JAVA的对象指向到ORALCE或者MYSQL的字段中,通过这个表格 可以很清楚的了解到,对象映射成数据库的表,也就是ORM,这个概念. 什么是ORM? 对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的…
数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money   System.Decimal nchar String n…
MySql数据库中字段类型bigint 长度是10位的 mysql> select (from_unixtime(1554047999))as datatime;+---------------------+| datatime |+---------------------+| 2019-03-31 23:59:59 |+---------------------+1 row in set mysql> select (unix_timestamp('2019-03-31 23:59:59'…
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.简述MySQL中索引类型对数据库的性能的影响 2.RDB和AOF机制 3.Redis的过期键的删除策略 4.Redis线程模型,单线程为什么这么快 5.缓存雪崩.缓存穿透.缓存击穿 1.简述MySQL中索引类型对数据库的性能的影响 普通索引:允许被索引的数据列包含重复的数据 唯一索引:可以保证数据记录的唯一性 主键:是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字prima…
MYSQL中 ENUM 类型的详细解释 ENUM类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果将一个无效值插入一个 ENUM (即,一个不在允许值列表中的字符串),空字符串将作为一个特殊的错误值被插入.事实上,这个字符串有别于一个"普通的"空字符串,因为这个字符串有个数字索引值为 0.稍后有更详细描述. 如果一个 ENUM 被声明为 NULL…
--SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段--2.更新字段类型前如果该字段有默认值索引则应先删除掉对应的索引--3.数据表字段数据类型为tinyint在CodeSmith中读出来的是DbType.Byte类型,需要修正 declare @TableName nvarchar(250) --声明读取数据库所有数据表名称游标mycursor1de…
当schema中字段类型为String时,保存的时候如果该字段为Number也可以保存成功,mongoose会自动将其转换为数字字符串. 当schema中字段类型为Number时,保存的时候如果该字段如果是String类型,只要能转换为数字格式的字符串,也能保存成功,比如"20.17",否则会报错 在实例化模型的时候,如果传入的字段值的类型和schema中定义的不一致(上面说的可以自动转换类型的不算),那么在实例化生成的文档对象中不包含该属性.如: var schema = Schem…
在MYSQL中,TIMESTAMP类型是用来表示日期的,但是和DATETIME不同,不同点就不再这里说明了. 当我们在使用TIMESTAMP类型设置表中的字段时,我们应该要注意一点,首先我们在表中新增一个类型为TIMESTAMP的字段: 如上图所示,系统为类型为TIMESTAMP的tm字段自动创建了默认值CURRENT_TIMESTAMP(系统日期),下面我们看表中的数据,新增的列自动填充了系统日期的值: 下面我们在表中继续新增一个类型为TIMESTAMP类型的字段tm1,然后查看表结构: 如上…
原文地址:    http://www.cnblogs.com/stringzero/p/5707467.html 原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7I…
由于MySQL中没有boolean类型,所以会用到tinyint类型来表示. 数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true.…
MySQL中关于时间的数据类型:它们分别是 date.datetime.time.timestamp.year date :"yyyy-mm-dd"  日期     1000-01-01 到 9999-12-31   3字节 time :"hh:mm:ss" 时间     -838:59:59 到 838:59:59   3字节 datetime: "yyyy-mm-dd hh:mm:ss" 日期+时间 1000-01-01 00:00:00 到…
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7ISLhBsmf17Lu69vxv2aR99_ mysql的基本数据类型里几个int如下:类型 大小 范围(有符号)…
tinyint[(m)] [unsigned] [zerofill] 1字节 极小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 - 127. 无符号: - 255 特别的: MySQL中无布尔值,使用tinyint(1)构造. smallint 2字节 小整数 有符号: ~ 32768 无符号: ~ 65535 mediumint 3字节 有符号: -8388608 ~ 8388608 无符号: 0 ~ 1677215 int[(m)][unsigned][zerofill…
MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述. 概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式.由MySQL支持的列类型列在下面.下列代码字母用于描述中:M指出最大的显示尺寸.最大的合法的显示尺寸是 255 .D适用于浮点类型并且指出跟随在十进制小数点后的数码的数量.最大可能的值是30,但是应该不大于M…