当前位置: 首页 > 知识库问答 >
问题:

为什么电话号码不存储在整数DataTaype中?[副本]

滕胜涝
2023-03-14
mysql> desc Student;
+---------+--------------+------+-----+---------+----------------+
| Field   | Type         | Null | Key | Default | Extra          |
+---------+--------------+------+-----+---------+----------------+
| Roll_no | int(11)      | NO   | PRI | NULL    | auto_increment |
| name    | varchar(200) | YES  |     | NULL    |                |
| address | varchar(200) | YES  |     | NULL    |                |
| phone   | int(100)     | YES  |     | NULL    |                |
| age     | int(11)      | YES  |     | NULL    |                |
+---------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql> insert into Student values(1,'Ram','Delhi',90404444389,18);

错误1264(22003):超出第1行“phone”列的范围值

为什么在错误…手机大小100但为什么超出范围…

共有1个答案

黎腾
2023-03-14

因为您的数字超出了int类型的范围。您可以尝试使用bigint,或者将列存储为varchar,这可能更合适,如本文所述。

看这个答案。int总是用4个字节存储。我想你误解了(100)的作用,它只是控制显示宽度。

有关文档中数字类型的更多信息。

 类似资料:
  • 问题内容: 我这样存储电话号码: 用户将输入电话号码,而我将使用该电话号码。此应用程序将在全球范围内使用。因此,我还需要国家代码。是存储电话号码的好方法吗?而且,我该如何验证电话号码? 问题答案: 你实际上可能会研究国际标准格式E.164,例如Twilio推荐的格式(该服务具有通过REST请求发送SMS或电话的服务和API)。 这可能是最普遍的电话号码存储方式,尤其是在你使用国际号码的情况下。 1

  • 我想从用户的电话通讯录中导入所有的联系人号码,并将其存储在数据库中,但由于我想稍后对其进行一些处理,所有的电话号码都应该具有统一的格式。 我在互联网上做了一些研究,发现电话号码有三种主要格式:(来源: googlei18n/libphonenumber) 国际 然后我导出并提取我的电话联系号码,但我知道有很多来自不同国家和运营商的不同格式的号码。 这里有一些例子: 基于谷歌的图书馆,如果你想把任何

  • 问题内容: 我对Java和Android都缺乏经验。我正在尝试检索存储在android手机模拟器的联系人之一中的电话号码。当我成功获取它时,该数字已以字符串形式返回,格式为“(987)654-3210”。我想将其转换为整数或长整数。我怎样才能做到这一点?如果使用,它将返回一个。尝试使用时也失败。那我该怎么办?我想要没有任何大括号或连字符的“ 9876543210”。 问题答案: 使用储存号码会更好

  • 我有一个以字符串形式存储在Excel中的电话号码,Excel文件创建成功,数据没有错误,但每个电话号码旁边都有一个“数字存储为文本”错误。 我从网上了解到,我应该使用excel中包含的特殊电话号码格式或自定义的000-000-0000格式。我可以使用excel程序设置这些,但不能从我的Java代码中设置。 我四处寻找关于setCellType和DataFormat的信息,但我假设CellType必

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: telefne号和地址的mysql数据类型 关于将电话号码存储在数据库中的最佳做法有何建议?考虑一个美国电话号码: 555 555 1212 555-555-1212 (555)555 1212 5555551212 1-555-555-1212 1(555)555-1212 等等 … 我应该删除格式并仅存储数字吗?我应该只使用