Rey*_*rPM 13 mysql mariadb datatypes
所以这将是今年的虚拟问题,但我需要问,因为这不是我第一次通过这个问题。看看下表定义:
看看现在from_number
是一个列,VARCHAR(45)
但它会保存一个电话号码。因为我不知道一部手机在全世界可以有多少个号码,所以我试图覆盖几乎所有的号码。我想尽可能地保持数据库的完整性,所以我认为VARCHAR
这不是保存此类信息的正确类型 - 也许我错了,你告诉我 - 所以我正在考虑更改INT
或什至BIGINT
.
当我在 Workbench 中定义一列时,我应该指定括号之间的数字,()
而不是在所有情况下,但在我之前提到的那些情况下我必须这样做。所以如果我这样做:BIGINT()
我收到了这个错误:
这指导我在此处阅读有关此 MySQL 类型的一些信息。基本上信息是这样的:
一个大整数。... 无符号范围是 0 到 18446744073709551615。
这让我问:在定义BIGINT()
类型时应该为括号设置什么值。(我使用 BIGINT 是因为我不知道 INT 是否可以容纳电话所能容纳的数量 - 也许我也错了)。在 MariaDB/MySQL 数据库中创建|设计列的正确方法是什么?
无论如何,我想知道您的意见,经验,当然我想得到答案
注意:我使用 MySQL Workbench 最新版本来创建 ER 图。我也在使用 MariaDB 10.0.x
Han*_*non 14
您将如何处理带有扩展名的电话号码,例如“+1-000-000-0000 ext 1234”?
注意,“+”表示应采用国际拨号规则;所以从北美,系统会在国际电话前自动识别“011”等。
另外,诸如“1-800-DBA-HELP”之类的电话号码呢?
我通常会将电话号码存储为文本。话虽如此,这实际上取决于您的电话号码栏的重要性。如果您从该列运行自动拨号程序,那么您确实希望确保只包含数字,并且数据代表格式正确的电话号码。
您可以为分机和带有文本的电话号码设置单独的列,例如我提供的“1-800-DBA-HELP”示例。