美文网首页
Mysql字段的一些问题

Mysql字段的一些问题

作者: 乐百事52淑熙 | 来源:发表于2017-05-15 15:04 被阅读0次

最近项目中遇到的问题,改bug的过程不断加深印象。

首先是int的长度问题:

Mysql数据库中,int的最大长度是11,这是前提,于是前端jsp中提交数据长度限制为11。

问题出现了,提交的时候数据库无法进行修改,什么鬼?

2017-05-15 14:59:27,745|com.cattsoft.isdp.sem.persistence.XxJbxxMapper.updateSelective|DEBUG|1564052|http-nio-8080-exec-9|==>  Preparing: UPDATE ISDP_XXJBXX SET XXMC = ?, XZQHDM = ?, ZCDZ = ?, ZZJGDM = ?, XXLB = ?, BXXZ = ?, FDDBR = ?, FDDBRLXFX = ?, JZYGS = ?, NSS = ?, BZ = ? WHERE SID = ?

2017-05-15 14:59:27,746|com.cattsoft.isdp.sem.persistence.XxJbxxMapper.updateSelective|DEBUG|1564053|http-nio-8080-exec-9|==> Parameters: 永平县职业高级中学(String), 532928000000(String), 永平县博南镇文昌路(String), 2410(String), S(String), P(String), 法人(String), 0872-6521561(String), 100(Integer), 222111223(Integer), (String), 3824(String)

以上是sql,看了一下,在前台填写的十一位字段(学生总数、女生数不见了)。

再次上网查询,发现:Mysql中int最长可以表示11位,但是第一位表示“+”或者“-”,之后十位记为数字,这样问题就很明显了,int类型可以填写的数字长度就是十位。

然后是时间字段date datetime timestamp:

date(4字节) 只有日期,表示范围:1000-01-01  至  9999-12-31

datetime(8字节) 日期加时间,表示范围:1000-01-01 00:00:00   至   9999-12-31 23:59:59

timestamp (4字节)时间戳,表示范围 1970-01-01 00:00:01UTC  至   2038-01-19 03:14:07UTC

再说一下char 与  varchar类型:

都是存储字符,实际上没啥可说的。

char固定字符长度:例如,你在数据库中设置char(40),当存入"hello,world!"时,所占的长度为40,不足用空格补充。

varchar限制最大字符长度:例如,你在数据库中设置varchar(40),当存入"hello,world!"时,所占的长度为12。(不计算存储值长度字节,如计算值长度,那么varchar值长度<=255时,用1个字节存储,>255时,用2个字节存储。)

总体来说,当使用varchar时,通常会节约空间,例如某个字段某个值长度特别长,用varchar存储非常合适。时间换空间,当然处理速度方面可能不如char。

就这样。

推荐微信公众号【排骨肉段】,记录日常的美好,记得关注啊。

相关文章

  • Mysql字段的一些问题

    最近项目中遇到的问题,改bug的过程不断加深印象。 首先是int的长度问题: Mysql数据库中,int的最大长度...

  • [Mysql教程系列] order by 多字段排序

    mysql单个字段降序排序: mysql单个字段升序排序: mysql多个字段排序: 多字字段排序只需要添加多个排...

  • Mysql从学会基础到学会放弃

    一、MySQL新增字段 1.单个字段 2. 批量增加字段 MySQL修改字段 1. 修改字段长度 2.修改字段的名...

  • JPA 查询部分字段

    JPA默认得查询会把表里所有数据字段都返回这样会带来一些问题1.数据量大的字段会导致mysql I/O问题2.一些...

  • Mysql学习——MySQL数据结构修改(2)

    Mysql表结构操作添加表字段修改表字段删除表字段修改表字段类型修改表名简介:Mysql表结构操作,添加表字段,修...

  • mysql8.0无法更改root密码解决方法

    mysql 8中,mysql.user 表中不再有字段:password,而是字段:authentication_...

  • mysql2——11-21

    mysql2 mysql查询 查询整个表 从表查精确查询字段 精确查询多个字段AND为必传字段,key和value...

  • 为何MySQL会选错索引

    在实际的生产环境中,给MySQL的字段加索引让查询的效率更高,我们往往会给MySQL的表字段加索引。MySQL具体...

  • Day_01 MYSQL(上)

    遇到的一些问题:Q1:如果在MySQL中一个表test中的id字段设为auto_increment插入两条记录后i...

  • 后端基础SQL—高级查询与子查询

    MySQL的基础查询语句 基本查询:SELECT * FROM 表; 字段查询:SELECT 字段1,字段2 FR...

网友评论

      本文标题:Mysql字段的一些问题

      本文链接:https://www.haomeiwen.com/subject/jodhxxtx.html