mysql 如何保存多个长度不一的电话号码

面试题:
1.在mysql里有个表,有id,姓名,还有电话号码。如何设置该字段保存电话号码?
2.同上的表,这个电话号码长度不一,如何设置该字段?
3.同2,电话号码可以超过20个,如何处理?(用一个字段还是多个字段,还是建新表保存,还是其他什么方法)

0

11个回答

这个问题关键在于电话号码长短不一会造成什么麻烦呢?至少从现在描述里看不出来,如果只是长短不一,完全可以用varchar来存储,并且varchar(20)不够还可以用varchar(50)啊

2

长短不一,字段长度当然要取比最大的还要大了 超过20个当然就要比varchar(20)大了

0
weixin_40417658
Sirius02 回复learner_and_thinker: 确定最大是根据数据来确定的,字段长度比最大的大就行
一年多之前 回复
sky__f
CoverageFeng 回复learner_and_thinker: 那就varchar(255)绝对够了
一年多之前 回复
learner_and_thinker
learner_and_thinker 可是没有说明电话号码的长度,怎么确定最大呢??而且使用varchar(20)也不能保证可以保存吧
一年多之前 回复

电话号码长度不一,varchar(20)不够还可以用varchar(50)

0

varchar()这个就可以完美解决

0

如果手机号定长11位,就用char(11)------mysql在创建该字段的时候每个都是占11位字符空间
如果手机号不定长,有大于20位的就用varchar(40),都小于20位的就用varchar(20)-----在创建该字段时是根据存储的数据长度来确定空间

0

可以用varchar来存储,varchar(20)不够还可以用varchar(50)

0

varchar(max)可以保存你输入不完的长度号码。

0
weixin_40417658
Sirius02 MySQL 中没有varchar(max)这种写法吧
一年多之前 回复

题主考虑颠倒了吧,字段长度是根据字段信息确定的

0

20的长度都存不下你的电话号码?是否应该考虑在程序中做号码长度校验

0

如果有那么多个电话号码的话。。直接用varchar来存。然后每个号码用,隔开。。取的时候在截取就好了。如果需要根据电话号码来查询整个对象的话。可以用模糊查询来查找。这样字段就不会太多了。

0
共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySQL数据库存储电话号码用varchar数据类型
int最大长度是11. 如果在建表时不指定字段int类型的长度时,系统则默认生成长度为11的字段。11也是int类型的最大长度,其中第一位表示符号+或者-,后面十位表示数字。 如果指定了长度,该字段其实也是长度为11的字段,因为只要是int类型,系统都分配了长度11位。 所以,当我们在用mysql数据库建表时如果有字段为int类型则不用指定长度了。 电话号码一般11位,所以如果用int类型存储会...
mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?
原先对mysql不太理解,但也没有报错。但理解的不够深入。这次补上。 原来以为int(11)是指11个字节,int(10)就是10个字节。我错了。   http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5
【MYSQL】删除重复的电话号码
编写一个 SQL 查询,来删除 Person 表中所有重复的电话,重复的电话里只保留 Id 最小 的那个。 例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:   解法一:分组找出最小的id,然后用not in()排除,剩下的都是可以删的 Delete from person where id not in (select p1.id from (select...
Android判断输入的是电话号码,判断字符串长度,以及只允许数字输入
在android开发的时候  是否遇到过这样的问题  你需用户输入电话号码  让其接收信息 然后  发送验证码或者是其他…… 好了  需求大致归为这些 有个Editext需要让用户输入电话号码 你这时候需要判断这一串的数字是不是电话号码 免得用户输错  或者是  位数不够 将这个错误信息用toast 反馈给用户 好了 闲话不多说
为何在数据库中将手机号设为int型却保存为2147483647
今天在做添加数据的时候,发现手机号存储错误,每次都是2147483647 后来查了一下资料,发现2147483647其实是int类型的最大值。 当存储的字段大于int类型的最大值时,返回的其实是int类型的最大值。 后将int 改成varchar 有效。
怎样存储100万个电话号码?
那么,你将如何设计存储4亿个电话号码呢?
(一)数据库中手机号字段的设置
中国大陆境内的手机号码都是11位的,如果是mysql数据库的话,使用int会导致丢失精度,数据库中的手机号和实际的不符; 使用bigint类型的字段可以有效解决这个问题,但是在实际开发中并不使用bigint类型: 在许多情况下对手机号码并不使用精确查询“=”,而是使用“LIKE”进行模糊查询 bigint存储的手机号,读出来需要进行处理转字符串 放在业务上将,比如说要进行手机号码格式验证,同样不如
【NOIP practice】BSOJ 3851 计算概率 智力题——加法原理
3851 -- 【模拟试题】计算概率 Description   小明有n个长度不一的小木棍,这些木棍的长度都是正整数。小明的父亲想和小明做一个游戏。他规定一个整数长度l,让小明闭着眼睛从n个木棍中随便拿出两个。如果两个木棍的长度总和小于等于l,则小明胜,否则小明的父亲胜。小明想知道他胜出的概率究竟有多大。 Input   输入包含两行。第一行为两个整数n和l,其中n和l都不超过10000
php关于长度不一致,字段也不一致,但有唯一的关联字段的两个数组的合并问题
以数组二为基准,合并两个数组,方式有两种: 第一种: $res = []; foreach($data as $v1) { //先把v1里面的赋值给data $res[$v1['uid']] = $v1['score']; } foreach($usersName as &$v2) { if(!array_key_exists($v2['uid'], $res)) ...
MySQL技巧系列(4)随机手机号
title: MySQL技巧系列(4)随机手机号 date: 2019-01-24 15:00:00 +0800 update: 2019-01-24 15:00:00 +0800 author: me cover: https://ws1.sinaimg.cn/large/006jIRTegy1fzk6obwqvmj31kw0w0n63.jpg preview: 作为搬砖党的一族们,对MySQ...
动态展示标签(数量可变且长度不一) 并居中(iOS 开发)
引言 说一下自己在开发中遇到的需求及实现方法,需求是这样的,要在屏宽的范围内动态展示标签(标签数量可变),并且标签要居中显示,标签后台配置的一个长字符串,格式如下,“标题1@标题2@标题3”,以@ 符分割多个标题(分割方式自行约定)。 思路 刚看完这个需求可能直接就会想到用for循环 创建多个label,先不说具体的算法怎么弄,你可记得需求中可是要求居中的...
常用的js判断(手机号码/固定电话/输入框的长度/链接/特殊字符)
1.我们新开页面如何返回到主页面 返回>> 2.我们在web窗体中如何判断用户在文本框中输入内容的长度,假如现在我们要设置一个文本框中输入的用户名可以使中文英文数字并且长度为50个字符,这里一个汉字等于2个字符,我们如何实现呢,如果我们js里直接用lenght,那么对于输入的英文是可以做出判断的,但是中文就判断不出来了,所以我们有一种更好的办法就是我们获取中英文字符长度然后进行判断,这样汉字只
用一个字段保存多个图片或文件路径
有时我们表中的一个产品记录,可能没有图片,也可能有一个或多个图片,怎么保存这些信息呢?难道用10个或更多的字段来保存,但大多数行它们都是空的呀,怎么办? 利用Windows下文件名中不能用的非法字符,Url中不能用的非法字符,在数据库中用一个字段中保存全部图片路径。 (1)、Windows下文件名非法字符: /  /  :  *  ?  " 
简单的保存手机号到通讯录并删除
一个简单的通讯录的保存与删除功能
常用的js判断(手机号码固定电话/输入框的长度/链接/特殊字符)
转载地址来源: http://wuyawei4062.blog.163.com/blog/static/45412336201081991720471/     1.我们新开页面如何返回到主页面 返回>> 2.我们在web窗体中如何判断用户在文本框中输入内容的长度,假如现在我们要设置一个文本框中输入的用户名可以使中文英文数字并且长度为50个字符,这里一个汉字等于2个字符,我们如何实现呢,
mysql存储字符串长度的问题
mysql5.0以上的版本: 1.一个汉字占多少长度与编码有关: UTF-8:一个汉字=3个字节 GBK:一个汉字=2个字节 2.varchar(n)表示n个字符,无论汉字和英文,Mysql都能存入n个字符,仅是实际字节长度有所区别 3.MySQL检查长度,可用SQL语言: select LENGTH(fieldname) from tablename 来查看...
匹配多手机号的正则表达式
正则表达式:/^([,;,;]*1\d{10}[,;,;]*)*$/ 可匹配的多手机号规则如下: 单手机号:18055147368 前字符+手机号:,18055147368 手机号+后字符:18055147368, 前字符+手机号+后字符:,18055147268, 可匹配字符(中文逗号、中文分号、英文逗号、英文逗号):18055147368;18055147368,180551473...
MySQL数据库拼接指定长度的数字字符串
拼接成长度是5的字符串: 5 拼接后成为 00005 309 拼接后成为 00309 解决方式:LPAD(str,len,psdstr) select LPAD(“5”,5,“0”) select LPAD(“309”,5,“0”)即可感悟:基础知识,多学习,多巩固
设置mysql数据库的最大保存文件长度(MP3)
目标:把mp3保存到数据库中! 在mysql的文件目录中找到my.ini,添加如下配置! 10485760=10M max_allowed_packet=10485760
java手机号码保存算法 可防止一般编程人员
前段时间在网上看到一个程序员招合租房子的广告,其中联系方式比较有趣,于是就研究了下,其实也很简单。
随机生成50000个不重复的手机号码
Python3.6代码,可以随机生成5万个不重复的手机号码,可以重复使用
世界各国的手机号码
世界各国的手机号码   日本: 11位, 以080或090开头:  080-****-**** ,090-****-****   美国: 和普通电话号码一样, 如 626(区号)321090*   悉尼: 十位数: 04** *** ***   韩国: 11位,010,011,016,017,018或019开头,如101*********   加拿大: 固定电话一样,
mysql 正则 查询 手机号,移动手机号码段 正则
SELECT tel FROM `sz_ucenter_members` WHERE tel REGEXP '^[1](3[0-9]|47|5[0-9]|8[0-9])[0-9]{8}$'; //全网段,有几个号码段不存在我也加上了,如181,182,183,184 2010年 中国移动:134.135.136.137.138.139.150.151.152.157.158.159.187.1
bitset存储多种状态
随着系统规模的扩大,会出现越来越多的状态标识,如果每一个状态标识对应一个数据库字段,数据库表会越来越庞大,维护成本高。 利用BitMap的思想按位管理状态,是一种简洁的办法,并且具有良好的可扩展性。 一、数据库设计 CREATE TABLE `object` ( `id` int COMMENT 'ID', `status` int NOT NULL COMMENT
筷子 解题报告
筷子   【题目描述】 A先生有很多双筷子。确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的。这天,A先生家里来了K个客人,A先生留下他们吃晚饭。加上A先生,A夫人和他们的孩子小A,共K+3个人。每人需要用一双筷子。A先生只好清理了一下筷子,共N根,长度为T1,T2,T3,……,TN.现在他想用这些筷子组合成K+3双,使每双的筷子长度差的平方和最小。(怎么不是和最小?
随机生成11位的电话号码
随机生成11位的电话号码
Java实现的简单电话号码储存
package com.sinosuperman.example; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.StringTokenizer; import java.util.TreeMap
sql查询判断手机号
--查不规范手机号 SELECT * FROM a WHERE LEN([tel])!=11 OR [tel] NOT LIKE '[1][356789]%' OR [tel] LIKE '%[^0-9]%'   --查是否有重复使用手机号的 SELECT * FROM a AS T WHERE EXISTS(SELECT 1 FROM a WHERE tel=T.tel AND ID&l...
手机联系人姓名或号码过长无法导入到SIM卡
[DESCRIPTION] 1. 手机联系人姓名较长;  2. 将此联系人复制到sim卡;  [结果] 提示导入失败  [期望] 导入成功,自动剪切联系人姓名到合适长度   [SOLUTION] 1. 截取 CopyProcessor.java  (alps\packages\apps\contacts\src\com\mediatek\contacts\lis
mysql字符集选择和所能存储的汉字的最大长度
一般我们的字符集是选择utf-8. 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同。 所以,如果...
关于mysql数据库手机号替换*
select INSERT(a.phone,5,4,'****') AS mobile from table a where 1=1
几个长度不一的list,想写入mysql
几个长度不一的list,想写入mysql,当时让我试了两个小时左右,最后才搞定。。。。觉得应该记录下来,以防以后碰到此类情况,不要再浪费时间。。。谁有更便捷的方法,欢迎评论。 ZYC1 = pd.Series(ZYC1) ZYC1 = pd.DataFrame(ZYC1, columns=['ZYC1']).reset_index() ZYC2 = pd.Series(Z
小技巧3--长行拆分
长行拆分 代码行最大长度宜控制在70至80个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印。有时候会碰到比较长的语句,则可以在一些“断点”处折行。 长表达式要在低优先级运算符处拆分为多行,运算符放在新行之首(以示突出)。拆分出的新行要进行适当的缩进,使排版整齐,语句
android 获取通讯录中同一联系人的多个号码
public static void fetchContact(Context context) { List<ContactsBean> list = new ArrayList<>(); ContentResolver cr = context.getContentResolver(); Cursor cur = cr.query(Conta...
js校验电话号码、邮箱、金额、身份证号、密码长度和复杂程度等等的验证
电话号码、邮箱、金额、身份证号、密码长度和复杂程度等等的验证以及对后台返回 数据的格式化比如金额,返回的值为null,还有对指定日期之前或之后某一天或某一月的计算
mysql字段约束
字段约束用来确保数据的完整性(可靠性和准确性)。 1主键约束 1>主键简介: 主键是表的标志列,在mysql中支持将一个或多个字段作为一个主键来使用。关系数据库依赖于主键,主键在物理层面只有两个用途: 唯一的标志一行记录 作为一个可以被外键引用的有效对象。 2>设置主键: 创建主键分为单字主键和复合主键 单字主键创建只需在字段后边添加primary key 如上图所示,在mysqlt
MySQL 替换部分电话号码为000
要做敏感信息剔除,要求又不能全换成同一个号码影响测试,想了几个方法,最终采用替换部分电话号码为000来做到敏感信息覆盖。mysql>update phone setb=replace(b,substring(b,4,3),'000');从第4个开始替换3个为000mysql> select *from phone;+---+-------------+| a | b           |+---
MYSQL中group_concat有长度限制!默认1024
:lol:
Mysql中修改字段类型、长度以及添加删除列
1、mysql中修改字段长度: ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50);这里的tb_article为表名,NAME为字段名,50为修改后的长度 2、mysql修改字段类型: ALTER TABLE tb_article MODIFY COLUMN NAME CHAR(50);修改后,name字段类型由varchar变为cha
中国全国城市电话区号数据库表(精确到街道)Access数据库文件
数据库内含有数据字段为: ID 省级 城市 地区 街道 区号 61080,"湖南","怀化","溆浦县","两江","0745" 精确到街道;
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 图片视频大数据保存 web怎么保存教程