问下各位大佬, 关于数据库类型 bigint

73 天前
 vyuai
employee_id bigint(20)
比如 employee_id 后面为什么要加(20)呢, 搜索了一下好像加了并没有意义啊, 不像 varchar(20), 为什么大部分人都会加()呢, 是为了和别的数据库兼容嘛, 还有关于数据库表结构和字段的设计有没有可以学习的资料啊
1651 次点击
所在节点    数据库
10 条回复
gitrebase
73 天前
> 为什么大部分人都会加()呢

不吧
Tacks
73 天前
```
> 结论:都一样
BIGINT(20)与 BIGINT 在数据存储和数值范围方面是完全相同的,对实际数据存储没有任何改变。这种语法保留更多的是为了与旧版本和其他数据库的兼容性。

> 为什么大部分人会加(20)?
1 、历史原因:早期版本的 MySQL 或其他数据库可能会引入这种语法,后来保留了下来。
2 、一致性:有些团队可能有统一的代码风格要求,习惯性地为所有整数类型添加显示宽度,另外也有可能是阅读习惯
```
vyuai
73 天前
@Tacks 感谢感谢, 明白了, 有些 GUI 好像也会默认加
Kite6
73 天前
如果设置了补 0 ,这个会影响
cleanery
73 天前
我一直理解是 CLI 客户端里的显示宽度, 对使用完全没任何影响
seedhk
73 天前
一开始不明白为什么,有样学样,后面知道了也习惯了,就没改
orczhou
69 天前
@Tacks 这个回答很像 LLM 的...

新版本已经不再使用这样的写法了。

“关于数据库表结构和字段的设计有没有可以学习的资料”:建议阅读 MySQL 官方的手册。
zzmark06
54 天前
参见文档: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html

是个历史因素,自 8.0.17 已经标记弃用,后续会移除
vyuai
53 天前
@zzmark06 感谢感谢
promisenev
47 天前
新版本的数据库其实都没这些了,也就老程序员 or 架构师对系统优化层面非常在意的,才会专门根据业务去指定长度

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1078696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX