数据库字段设计关于时间戳该怎么存储?

图片说明

在高性能mysql这本书中,建议用timestamp来存储,但是一般场景中都是用int(11)来存储,请问这个该怎么理解?

0

2个回答

0

用int(11)存储,是经过转换的,即把实际的时间戳特殊符号去掉,再转换成整形。timestamp是mysql标准的时间戳。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
数据库字段选取--时间戳
时间戳
数据库设计的几个时间问题
数据库字段设计上老是会因为几个时间类型而喋喋不休,有的人会忽视掉,有的人会追根究底,但可能最终还是没彻底解决 database-design-tinted.jpg timestamp 还是 datetime 还是int ? 前面2个都是数据库原生的时间类型。而且可以进行相互转换,一个是时间戳格式一个是年月日时分秒可读类型。 通常时间类型选择...
数据库给字段设置当前时间戳
数据库给字段设置当前时间戳 unix_timestamp() 示例: (field:id和当前时间戳) insert into table table_a values(null,unix_timestamp())
45.Oracle数据库SQL开发之 日期和时间的存储与处理——使用时间戳
45.Oracle数据库SQL开发之 日期和时间的存储与处理——使用时间戳 欢迎转载,转载请标明出处:  9i数据库引入了一种新特性,可以存储时间戳。时间戳可以存储世纪、四位年、月、日、时、分、秒。与DATE类型比,时间戳有以下优点: n  时间戳可以存储秒的小数位 n  时间戳可以存储时区 1.  使用时间戳类型 1.1             使用TIMESTAMP类型 与其他类
Java存储数据库中时间戳和php操作数据库时间戳的关系
一直困扰我的问题,终于得到了解决!原先以为是自己系统问题(其实也可以确定自己的系统是64位),于是利用一下代码测试自己的系统是不是有问题,得到的结果是没问题的,但是就是无正确结果输出。于是解决问题途径是在strtotime()函数和date(format,time())函数之间徘徊。 <?php //测试代码 $date = '2040-02-01'; $format = 'l j F Y ...
数据库 时间戳 字段数据类型选择
一般情况下,我们使用 秒 级的时间戳来存储就ok了.使用 无符号 int 类型 足够支撑到2103年了 ..不用担心int范围不够.但是 毫秒(13位)不够.我们接下来另说. 关于 毫秒级的存储 只能 使用 bigint 数据类型 范围为 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (...
Oracle时间戳类型
        Oracle Databse 9i数据库引入了一种新特性,可以存储时间戳。时间戳可以存储世纪、4位年、月、日、时(以24小时格式)、分、秒。与DATE类型相比,时间戳具有以下优点:     ● 时间戳可以存储秒的小数位。     ● 时间戳可以存储时区。     下面介绍时间戳类型。  使用时间戳类型     时间戳有3种类型,如表所示。     表  ...
key+value实现动态字段的存储设计
1
数据库设计时设计标识字段的一些思考[mysql]
一、前言   在很多应用场景中,通常需要给数据加上一些标识,以表明这条数据的某个特性,如:标识用户的性别、标识订单支付的渠道、标识商品的类型等等。在数据库设计时,通常我们会单独用一个字段来存储这些标识,如:可用gender字段来标识用户的性别,其值为“男”、“女”、“未知”这3种值中的一个;对于普通的具有有限固定的几个值的标识,这样自然没有什么问题,但是,对于一些同时具有多个属性且变化较大的就有
数据库日期类型字段设计,应该如何选择?
            当设计一个产品,其中很多地方要把日期类型保存到数据库中,如果产品有兼容不同数据库产品的需求,那么,应当怎样设计呢?   (1) 当然,首先想到的是,使用数据库的Date或DateTime类型,可是看看不同数据库这些类型间的区别吧,真让人望而止步。 mysql数据库:它们分别是 date、datetime、time、timestamp和year。date...
时间戳储存到数据库和显示,ssm框架
来看看储存到数据库和显示的时间效果吧!! 1.数据库里: 2.前端显示的效果: 接下来说说怎么实现: controller层:           当然你可能好奇为什么是:2017-11-07  16:08:27.0        (注意:27.0)这里就不解释"time","datetime","Timestamp" bean类:
谈谈数据库中的日期、时间、日期时间、时间戳
最近翻看以前的笔记,发现对于数据库日期时间和时间戳还不是太明白。下面从网上搜了下,整理到下面** Date 包含年月日如:2008-03-21 ,Time时间:19::00:00 在数据库中存储插入数据时的时间,比如有一条评论,我想在把评论内容存入数据库的时候把存储评论时的时间也存到数据库中。当然这个过程是自动完成的,即不需要我在业务逻辑代码中还得初始化一个Date对象然后再把这个D
数据库用一个int类型的字段保存前端多个字段(该字段为多选)
现象:一般我们都是前端多少个字段,数据库就保存多少个字段,      例如,填写爱好(多选):1、打篮球   2、踢足球    3、打台球 数据库有两种方法保存:1,添加一个字段hobby:1,2,3                                         2,新增一张表保存所有值:uid  bobby_id
帖子的评论及回复表的数据库设计
帖子的评论及回复表的数据库设计 开发工具与关键技术:SQL Server 2014 Management Studio 作者:王雅思 撰写时间:2019-02-20 最近参与一个数据库的设计,里面包括帖子,帖子的评论及回复,而我设计的原始表格的字段是这样的: 从左到右,依次是帖子表、评论表、回复表。 如上我负责的模块的数据库的设计如上,回复表中的回复对象类型ID是用于判别回复对象ID 是评论I...
数据库将存储的整型时间戳转化
SELECT FROM_UNIXTIME(`add_time`,'%Y-%m') FROM `tp_qiandao` WHERE FROM_UNIXTIME(`add_time`,'%Y-%m')='2017-11'; FROM_UNIXTIME将时间戳转换为时间格式。 该例子筛选出2017-11月份的数据。
tp5 读数据库的时候把时间戳格式字段改为日期格式
$result = Db::name("articles") ->alias('A') ->join('article_cate B', 'A.cate = B.id') ->where(["user_id"=>$this->user_id,"active"=>1]) ...
MySQL中unix时间戳的小知识
最近在一家公司实习所做的项目后台是用php写的,同事喜欢用unix时间戳来存储时间,刚开始觉得很不直观,倒不如直接用date来存储,直观又简洁。但是有经验的人做出的决定肯定是有原因的。什么是unix时间戳?unix时间戳是从1970年1月1日0时0分0秒开始计算秒数的一个数值,在最近几年里,在数据库中存放的应该都是以1开头的一串11位数字,所以,刚好在mysql中以int(11)型存储。为什么要用u
存储当前系统时间,用bigint
前段时间想把系统当前的时间存进MySQL的数据库里,却一直插不进去,到后来才知道。需要把数据类型改为bigint类型,我原来写的是int型。 int型的是4个字节的,bigint是8个字节的。获得的系统当前时间是在int和bigint之间,所以要用bigint去存取。 ============== UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。 bigint 和
mysql下以标准时间格式输出存储的时间戳数据
SELECT FROM_UNIXTIME(1476427742);  //‘1476427742’为在数据库中存储的时间戳 显示结果为: from_unixtime(1476427742) 2016-10-14 14:49:02 也可以加入‘format’参数使用自己规定的方式显示,例如: SELECT FROM_UNIXTIME(1476427742,'%Y年%m月%d日');
自定义排序之数据库设计
自定义排序之数据库设计之前做过的项目有项需求,就是要对一个普通的列表进行自定义排序功能,当初构思了几个方案,各有所长,按需使用,下面就一一来介绍这几个方案。 注:这里的自定义排序就是操作列表的某项进行位置交换。1. 单表单列结构(数组结构) 此设计是使用一个表中的一列来表示数据的序号,通常我们使用的方法就是这种。 数据表tb_data(n): data index ··· 0 ·
PostgreSQL时间存储形式与格式化
1 存储形式 1.1 时间戳形式 create_time | timestamp with time zone | | not null | 2018-08-28 17:12:42.453297+08 1.2 大整数形式(Unix格式) create_time | bigint | | not n...
mysql时间存储用什么类型
关于夏令时,UTC,GMT这几个概念建议先简单了解下,下面不做解释 先丢结论以表诚意: 如果程序不需要考虑时区,夏令时或者将来数据库的机子迁移到别的地方时区变化,用datetime类型比较方便; 用timestamp可以避免上述的问题(mysql官方文档的简单解释是数据存入timestamp时会根据时区转换为UTC时间,取出的时候做个反转换),但众所周知timestamp的存储位数只有4
(一)数据库中手机号字段的设置
中国大陆境内的手机号码都是11位的,如果是mysql数据库的话,使用int会导致丢失精度,数据库中的手机号和实际的不符; 使用bigint类型的字段可以有效解决这个问题,但是在实际开发中并不使用bigint类型: 在许多情况下对手机号码并不使用精确查询“=”,而是使用“LIKE”进行模糊查询 bigint存储的手机号,读出来需要进行处理转字符串 放在业务上将,比如说要进行手机号码格式验证,同样不如
Oracle数据库过滤时间戳筛选条件
一开始尝试截取date类型字段substr(时间戳字段,1,10)=‘2199-12-31’,结果出不来,因为date类型字段转成字符串后于单引号内字符串格式不一致; 正确结果是:      `select * from table_name where 时间戳字段 = to_date('2012-06-18','yyyy-mm-dd hh24:mi:ss'));...
mysql timestamp和long存储时间效率比较
show create table 20130107date;CREATE TABLE `20130107date` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `c_date_long` int(20) NOT NULL, `idx_da
Mysql中时间戳格式和时间类型格式的装换
首先我有这样一个时间 将此时间转换为时间戳格式: SELECT UNIX_TIMESTAMP(pst.ep_order_time) AS ep_order_time FROM prj_status_time pst WHERE pst.project_id='1541487873296'; 将时间戳转化为日期格式: SELECT FROM_UNIXTIME(1541520000...
数据库历史信息保存设计
1.应用背景:在大数据时代,数据的价值无庸置疑。历史数据对未来建模,数据分析都有不可估量的价值,一个好的系统,必然是需要对历史信息进行保存的。 2.利用生命周期来存储历史数据。如果一张表的数据不经常改动,数据量比较小,比如存储参数信息的表。那么可以考虑建立一张只比参数表多生效时间和结束时间的历史信息表。参数表某个值改变的时候,那么就把原来的数据插入到历史信息表,原数据的创建时间就是历史表里的生效时
laravel migration如何设置时间戳类型默认值为插入时间
$table->timestamp('time')->default(\DB::raw('CURRENT_TIMESTAMP'));
数据库表字段设计一个字段存多个下拉框值
有时候经常会遇到下拉框的多个值存在一个表的字段,如果这样设计查询的话可能比较麻烦。因为你查询的话,选择任何一个下拉框的里面的值,查询出来的结果集应该是只要包含里面一个值就查询出来这条记录。 想了很多办法,最后采用二进制的形式设计,解决了这个查询。 下拉框里面的值: 1:方案商,2:生产厂商,3:经销商,4:代理商,5:其他 如果你要查询一个下拉框的值,比如你要查询 2...
关于数据库设计中的状态字段
[quote] 做数据库设计的时候,某些表必须有一个状态字段.比如角色表,它的状态为:已禁用、正常等。那是不是要单独做一张角色状态表呢? 那么其他表的中的状态字段,是不是也要做一张对应的状态表呢? 即使状态只有两个值? 如果这种状态只有两个值可以设置一个字段为bool类型 如果状态包括多个值,但这些值不需要总变化,可以考虑用枚举类型 如果状态包括多个值,且需要经常添加或删除,可考虑...
MYSQL数据库添加时间戳
ALTER TABLE tablename ADD COLUMN columnname TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0); 时间戳格式yyyy-MM-ddhh:mm:ss TIMESTAMP(0)、CURRENT_TIMESTAMP(0)中0代表毫秒级长度,长度范...
Mysql的日期存储字段类型的选择
在实际开发项目中发现数据库中得日期项目,有的用datetime,有的用timestamp,有的甚至用int,这之间都有什么区别呢?什么场合适用什么样的设置呢? 首先看一下各自的特点: int 4个字节存储,INT的长度是4个字节,存储空间上比datatime少,int索引存储空间也相对较小,排序和查询效率相对较高一点点 可读性极差,无法直观的看到数据,可能让你很恼火 datetime 8...
mysql bigint类型时间做运算
bigint类型时间转date类型: DATE_FORMAT(FROM_UNIXTIME(start_time/1000),’%Y-%m-%d %H:%i:%S’) as start_time, DATE_FORMAT(FROM_UNIXTIME(end_time/1000),’%Y-%m-%d %H:%i:%S’) as end_time, 对于bigint类型时间运算精确到毫秒(单位/分): ...
关于数据库表字段逻辑删除设计的思考
一句话描述:逻辑删除建议使用2张表。 通常我们在做配置类的表设计时, [list] 1. 为了审计谁最后废弃删除了配置数据。 2. 为了在误删除数据时,很方便的恢复数据。 [/list] 我们使用了逻辑删除相关字段,deleteId和deleteTime等。 这样被逻辑删除的数据仍然遗留在表中。 这个逻辑删除字段,对业务代码的影响较大;对更新和查询数据库的性能影响也较大...
项目中涉及到金钱的计算时,数据库字段的使用
涉及到金额的计算,数据库中在字段应设置为decimal类型,较为精确, 实体类映射类型为:java.math.BigDecimal xml中jdbcType:DECIMAL
如何用动态字段实现系统的扩展性?
设计系统架构时,我们总是希望一个架构或者说是模型能支持多种业务场景,当然场景是系统范围内的。比如说做商品系统,商品有多种属性,不同类型的商品的属性不一样,怎么用关系型数据库去保存这些不同的属性呢?再比如做CMS时,除了基本的背景、位置、类型、状态等属性一致外,页面不同地方需要的数据结构却是不一样的。 再比如做广告时,不同地方的广告需要用不同属性去区别,而它们又有一些共有的属性,比如类型,名称。
mysql数据库字段类型timestamp随当前时间戳更新
当mysql字段类型设是timestamp时 [code="java"]CREATE TABLE `test` (`test_time` timestamp NOT NULL COMMENT '时间::YYYYMMDDhhmmss');[/code] 执行SQL建表,查看表设计,该字段会自动勾选根据当前时间戳更新 此时需要使用alert语句给字段赋默认值: [code="java"]AL...
关于springboot时间存储的问题
Timestamp类型, Date date =new Date(); Timestamp timesTamp=new Timestamp(date.getTime()); 存储 timesTamp到数据库
mysql中datatime字段类型 根据当前时间戳更新
如果选中      根据当前时间戳更新,其他时间字段在更新的时候此字段也会更新
flask_sqlalchemy db.DateTime 字段无法保存毫秒/微秒数据问题解决(.000000)
问题描述: 数据库中时间字段未保存微秒部分。 from app import db from datetime import datetime class User(db.Model): __tablename__ = 'user' userId = db.Column(db.BIGINT, primary_key=True, autoincrement=True, nu...