我将 MySQL 与 Spring JDBC 模板一起用于我的 Web 应用程序。我需要存储只有数字(10)的电话号码。我对使用数据类型的数据类型有点困惑。
- MySQL 中它的首选数据类型是什么?
- Bean (POJO) 类中的 Java 数据类型应该是什么?
- 如何使用 javax 验证/长度约束验证该数据类型,并且只允许数字?
原文由 Vishal Zanzrukia 发布,翻译遵循 CC BY-SA 4.0 许可协议
我将 MySQL 与 Spring JDBC 模板一起用于我的 Web 应用程序。我需要存储只有数字(10)的电话号码。我对使用数据类型的数据类型有点困惑。
原文由 Vishal Zanzrukia 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
字符串和 VARCHAR。
不要尝试将电话号码存储为实际号码。它会破坏格式,删除前面的
0
s 和其他不需要的东西。如果您选择,您可以将用户输入限制为仅数值,但即使在这种情况下,也要将您的支持持久数据保留为字符/字符串而不是数字。
在尝试实施任何类型的长度限制、验证或掩码(例如 XXX-XXXX-XX)之前,请注意更广阔的世界以及它们的数字长度和格式有何不同。
非数字字符可以在电话号码中有效。一个典型的例子是
+
--- 在国际号码的开头替代00
。从评论中的对话编辑: