昨天Tester发现数据有问题,大部分时间“datetime类型”都多了一秒,很少一部分数据的时间能完全对上(年月日时分秒),因为缺少关键日志,就各种排查,最后发现在调用Savechange方法前一刻数据都是对的,然后去数据库查询,数据就对不上了:时间多了一秒 骂娘之后,开始分析存储的Datetime对象(抽取了两个代表) 数据1: {1/3/2017 5:50:04 PM} Date: {1/3/2017 12:00:00 AM} dateData: 9859562662895793936 D…
环境:MySQL 5.7.13 问题描述:建表的时候,users_info表的role_id字段没有默认值,后期发现注册的时候,需要提供给用户一个默认角色,也就是给role_id字段一个默认值. 当前users_info表的role_id 在创建表的时候,没有设置默认值,数据库自动设置为空. 原先建表语句:role_id字段. 修改字段默认值:role_id默认值设置为:1 mysql> alter table users_info alter column role_id set defaul…
创建一个datetime表 > create table date_time(time datetime); > desc date_time; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | time | datetime | YES…
1.dao层/** * 分页查询点卡集合信息 * @param tid 游戏类型编号 * @param gid 游戏编号 * @param searchInfo 包括(点卡名称,游戏名称,点卡面值,游戏类型名称) * @param index * @param pagesize * @return */List<Cards> searchList(@Param("tid") int tid, @Param("gid") int gid, @Param(&…
MySQL同一字段多值模糊查询 一. 同一字段多值模糊查询,使用多个or进行链接,效率不高,但没有更好的解决方案.(有看到CHARINDEX 关键字,可查询结果并不是模糊,举个栗子 例如SELECT * FROM table WHERE CHARINDEX ( ','+ name + ',',',' + '张三,李四' + ',') > 0) 二. 同一值多字段模糊查询,使用CONCAT关键字,举个栗子 例如SELECT * FROM table WHERE CONCAT(`字段1`,`字段2`…
1.首先是我们分析datetime长度是8个字节,INT的长度是4个字节,存储空间上比datatime少. 2.int存储索引的空间也比datetime少,排序效率高,查询速度比较快. 3.方便计算,unix时间戳有点就是方便计算. 总结了一下timestamp和datetime的区别: 1.timestamp有范围限制1970 ~ 2037 2.timestamp支持default current_timestamp 来设置默认自动当前时间 3.timestamp支持on update cur…
DateTime 类型在 SQL 服务器上如果设置了默认值,在 EntityFramework 添加新行的时候想使用该默认值,则不能对新增加的实体的 DateTime 字段赋值. 但是如果新增加的实体 DateTime 不设置,会出现错误如下: System.Data.Entity.Infrastructure.DbUpdateException - An error occurred while updating the entries. See the inner exception for…
为了搞清楚MySQL对于可变长度字段值修改时,如何高效操作数据文件的机制.之前一直模糊不清,网上也搜不到现成的答案.经过多方资料搜集整理.写出此文供大家一起参阅.由于涉及众多非常底层的知识,我假设读者已经对操作系统和磁盘存取有一定的基础知识.文中如有疏漏,还请大佬指正. 为了探究这个问题,我们要先来回顾一下我之前的一篇文章<文件随机或顺序读写原理深入浅出>讲的文件存储的底层原理知识.如下图所示.一个文件的数据是以块为单位存储到物理磁盘的随机位置,这是由操作系统负责管理的,用户程序无权决定.所以…
转自http://blog.csdn.net/u014694759/article/details/30295285 方法一: MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型,下面就详细说明TIMESTAMP列类型 TIMESTAMP的变体 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在创建新记录和修改现有记录的时候都…
目录 字符编码与配置文件 存储引擎 创建表的完整语法 字段类型 整型 浮点型 字符类型 数字的含义 枚举与集合 日期类型 约束条件 字符编码与配置文件 在MySQL5.X系列中,显示的字符编码有多种,而MySQL8.X系列,字符编码统一为utf8mb4,这个编码是utf8的优化版本,可以存储表情. 查看MySQL默认字符编码命令 \s 修改配置文件统一字符编码 如果你是MySQL5.X系列的版本,建议统一字符编码,防止出现乱码的情况. 1.在MySQL根目录下新建配置文件my.ini 2.打开并…