首页 > 数据库 > 数据库开发技术 > “丁奇MySQL Seed” 群答疑分享
本周六直播课《极致性能优化 around MySQL》
进技术交流群方式,见文末海报
====Q1: decimal越界处理问题===
Q:为什么是0.99这个结果?

A1:偷懒的回答:
decimal(N,N)的范围就是 (-0.9.., +0.9..) N个9.
所以返回了最靠近输入的值作为返回.
A2课代表补充:
再坐下阅读理解decimal(m,s) m 是精度(精度表示为值存储的有效位数),s是小数位;decimal(2,2) 第1个2表示只能存储2位有效位,而第2个2 已经占了2个小数位,所以 decimal(2,2) 取值范围就是-0.99 到0.99 。9 超极大值了,所有就是0.99.
====Q2: 自增id全部换成奇数===
Q: 起头是有同学问:
A: auto_increment_offset 保持为1; auto_increment_increment设置成2.


这里为什么提问的同学要说 “只用” 呢? 因为前面我给出的建议是还要alter table把所有表的自增id手动改成奇数, 老司机错了十几年.
为了挽尊,把代码里取下一个自增ID的代码贴一下.
逻辑就如同文档里写的, 下一个id的值nr必须满足两个条件:
1) nr = (offset + N * auto_increment_increment),N是整数
2)nr > 当前id;
取最小的N

这个需求在单元化的时候还挺多用到的吧?
MySQL啥时候能把这个自增offset和auto_increment_increment加到表定义里面去呢?
====怎么换群名了====
一开始取《MySQL实战45讲》的名字,叫“MySQL45”,
结果有同学问:老师45个群维护得过来吗 -_-
问多了就觉得要改了,年轻的时候很爱看高达Seed, 刚好Seed跟自己现在做的事情也有些联系.
====例行海报====
原文作者:丁奇3306;如有侵权,请联系管理员删除。