mysql – 我应该使用INT,CHAR或VARCHAR作为社会安全号吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 我应该使用INT,CHAR或VARCHAR作为社会安全号吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含940字,纯文字阅读大概需要2分钟。
内容图文
我正在为一个新项目设计数据库,我不确定是否应该使用INT,CHAR或VARCHAR作为员工的社会安全号码.在我的国家,SSN由11位数字组成.
请注意,我将在此表上使用ID列作为主键,因此SSN不会用作密钥.
INT注意事项:无法在列上错误地存储文本,这很好,但我无法确保插入的值具有正确的位数.
CHAR注意事项:我可以确保条目具有正确的位数,但我不能确定这些是数字,并且SSN的长度将来可能会增加.
VARCHAR注意事项:没有其他两个的任何好处,但是是最灵活的,例如,如果长度改变则不会受到影响.
SSN是否有标准数据类型?你们用的是什么?
解决方法:
虽然SSN只是数字,但它不代表单个数字.您不会在整个SSN上进行任何数值计算,因此将其存储为数字实际上没有多大意义.
将它存储为数字会占用更少的空间,但不会太多,因为您需要一个bigint(8个字节)来保存一个11位数字.使用varchar将为字符使用11个字节,为长度使用另一个字节,因此差异不足以激励将其存储为数字.
关于验证SSN的长度和内容,这实际上是用户界面的工作.数据库不应该允许任何损害数据完整性的内容,但无效的SSN不会以这种方式造成伤害.
我会使用varchar,因为它提供了你提到的灵活性.
内容总结
以上是互联网集市为您收集整理的mysql – 我应该使用INT,CHAR或VARCHAR作为社会安全号吗?全部内容,希望文章能够帮你解决mysql – 我应该使用INT,CHAR或VARCHAR作为社会安全号吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。