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

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

11个回答

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

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

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

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

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

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

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

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

weixin_40417658
Sirius02 MySQL 中没有varchar(max)这种写法吧
接近 2 年之前 回复

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

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

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

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
几个长度不一的list,想写入mysql
几个长度不一的list,想写入mysql,当时让我试了两个小时左右,最后才搞定。。。。觉得应该记录下来,以防以后碰到此类情况,不要再浪费时间。。。谁有更便捷的方法,欢迎评论。 ZYC1 = pd.Series(ZYC1) ZYC1 = pd.DataFrame(ZYC1, columns=['ZYC1']).reset_index() ZYC2 = pd.Series(Z
限制输入电话号码长度
我要做一个注册系统rn为输入电话号码的框rn如何对要输入的电话号码在客户端进行长度判断,限制在7到13个字符之间
使多个长 度不一的字符串的长度相等
一批整型数值, 把它们转换成字符串后, 长度不相同,想在前面补0,请问如何实现,谢谢
求多个电话号码的正则
一个电话号码的正则是:^((\d3,4-)?\d7,8)$|^(1\d10)$rn 粗略认为是固话号或者手机号,固话号是3~4位区号数字+破折号+7~8位数字,手机号是1打头11位数字.rn 那么多个电话号码,中间以中文逗号分隔的正则应该怎么写?rn  rn 下面是我写的一个正则,但是不能通过各种情况的验证rnrn  rn 求高手帮助解决
MySQL数据库服务器与数据库不一到时
MySQL数据库5.0.27采用的都是默认的latin1,通过mySQL Front 可查到:rncharacter_set_client :latin1rncharacter_set_connection: latin1rncharacter_set_database: latin1rncharacter_set_results:latin1rncharacter_set_server:latin1rncharacter_set_system:utf8rn现有一难,请问JSP编程在.java代码(用了过滤器设为GBK)rn和jsp中都采用GBK(<%@ page contentType="text/xml; charset=gbk" ; )rn,在连接数据库时再加上useUnicode=true&characterEncoding=GBK能便数据库存取时中文问题解决吗??rn
input和select在设置同样的宽度下长度不一。
学会活用:    box-sizing:border-box http://www.jianshu.com/p/e2eb0d8c9de6
socket发送数据和接收数据长度不一至
[code=C#]rn我自己实现一个简单的HTTP服务器,其中处理发送文件内容时,rn浏览器接收到的数据只是其中一部分,下面的我的处理代码rnclass httpprocessorrn rnrn private Socket s;rn private StreamReader sr;rn private string method;rn private string url;rn private string protocol;rn private Hashtable hashtable;rnrn public httpprocessor( ref Socket s)rn rn this.s = s;rn hashtable = new Hashtable();rn rnrn public void process()rn rn tryrn rn NetworkStream ns = new NetworkStream(s, FileAccess.ReadWrite);rn sr = new StreamReader(ns);rn parserequest();rn readheaders();rn writeurl();rn s.Shutdown(SocketShutdown.Both);rn s.Close();rn rn catch (Exception e)rn rn LogTools.write(e);rn rn rnrn public void parserequest()rn rn string request = sr.ReadLine();rn LogTools.write(request);rn string[] tokens = request.Split(' ');rn method = tokens[0];rn url = tokens[1];rn int index = url.IndexOf('?');rn if (index != -1)rn rn url = url.Substring(0, index);rn rn protocol = tokens[2];rn rnrn public void readheaders()rn rn string line;rn while ((line = sr.ReadLine()) != null && line != "")rn rn LogTools.write(line);rn string[] tokens = line.Split(':');rn string name = tokens[0];rn string value = "";rn for (int i = 1; i < tokens.Length; i++)rn rn value += tokens[i];rn if (i < tokens.Length - 1) tokens[i] += ":";rn rn hashtable[name] = value;rn rn rnrn public void writeurl()rn rn tryrn rn string id = url.Substring(1);rn ProofInfo p = LocalHttpServer.ProofPackagePanel.getProofInfoById(id);rn if (p == null)rn rn writefailure();rn return;rn rn FileInfo file = new FileInfo(p.Prf_Path);rn //这里发送文件,但有些文件只能收到一部分,有些文件又能全部接收。rn s.SendFile(file.FullName, writesuccess(file.Length), null, TransmitFileOptions.WriteBehind);rn rn catch (FileNotFoundException e)rn rn writefailure();rn LogTools.write(e);rn rn catch (IOException e)rn rn LogTools.write(e);rn rn rnrn public byte[] writesuccess(long len)rn rn string str = "";rn str += "http/1.0 200 ok\r\n";rn str += "Server: LocalHttpServer\r\n";rn str += "Cache-Control: max-age=31104000\r\n";rn str += "Content-Type: image/jpeg\r\n";rn str += "Accept-Ranges: bytes\r\n";rn str += "Content-Length: " + len + "\r\n\r\n";rn byte[] data = Encoding.ASCII.GetBytes(str);rn return data;rn rnrn public void writefailure()rn rn string str = "";rn str += "http/1.0 404 file not found\r\n";rn str += "connection: close\r\n";rn byte[] data = Encoding.ASCII.GetBytes(str);rn s.Send(data);rn rn rn[/code]rnrn比较急啊!!!
【MYSQL】删除重复的电话号码
编写一个 SQL 查询,来删除 Person 表中所有重复的电话,重复的电话里只保留 Id 最小 的那个。 例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:   解法一:分组找出最小的id,然后用not in()排除,剩下的都是可以删的 Delete from person where id not in (select p1.id from (select...
如何识别电话号码,屏蔽电话号码
共和新路151弄(康乐小区)二室一厅中的一间出租,6楼,面积12平米左右,木地板,贴墙纸,无床,有书橱,朝南带阳台,厨卫室外独用,户内隔走廊。设备有电话、淋浴、洗衣机。房租500元。房租付三押一。交通便利,走至公交站点中兴路站3分钟,可一部车至人民广场、中山东路、新客站等。 rn联系方式,晚6-6-5-3-0-0-0-0,或短信138-187-9300-0,晚6:30后看房。已合租另一间者男性。合租对象性别不限rnrnrn如何屏蔽这些电话号码
【mysql 中文和英文长度】mysql 如何 计算中文和英文的长度
如何实现计算一串字符长度,中文算2 非中文算1SELECT CHAR_LENGTH(‘aaa你好’)+(LENGTH(‘aaa你好’)-CHAR_LENGTH(‘aaa你好’))/2
如何批量保存多个记录?
一个人员信息数据库需要通过internet输入,倒不是因为并发多,而是每条记录的字段只要“姓名”、“性别”、“单位”这三个字段,如果每输入一条就保存的话,是不是太慢了。rn原来我们是通过在excel中输入完数据后邮件上传给我,我再导入到数据库中的。请问在asp.net中有没有类似excel的仅供输入的表格控件(不是datagrid),当输入了20条或者80条记录后,用户点保存,就把在表格控件中输入的全部数据批量保存到服务器?rn谢谢帮助,我是asp.net的初学者。
如何保存函数的多个返回值????
函数int SEARCH()rnfor(int port=1;port<65000;port++)rn......rnreturn port;rnrn在SEARCH中可能满足条件的PORT返回值有很多,请问如何在主函数中把这些返回值存入一个数组中,或者还有什么别的好方法可以保存?rn请各位高手指点,谢谢!rn
网页如何保存多个文件
文件个数不定,格式是jpg的图片,保存在用户文件下同一个位置,图片数组格式是"path/img.jpg","path/img2.jpg"....js或者c#都行这个怎么实现?
List如何保存多个byte[]
List如何保存多个byte[],并能方便的把它取出来!rn[color=#FF00FF]是多个byte[]数组.不是byte.[/color]
android 如何保存多个用户
请问一下,Android中如何保存多个账户呢,rnSharaedPreferenses每次输入账户都会覆盖以前的账户,有啥办法呢rn
多个图片上传如何保存路径?
我是为了方便以后在管理图片的时候对于不要的图片可以进行删除。如:我上传的时候文件的路径是保存了的。如果我有多个图片上传呢,要如何保存到数据库中才能用File.Delete(sFilePath);来删除图片呢?
access如何保存多个坐标
c#编程的时候需要用access对多个坐标进行保存,比如表中的一条语句包含一个ID,一个name和不定个数的坐标(x,y),如何实现?
如何查看mysql列长度
如何用sql查看表的列长度
sql 2000如何保存长度很大的字符串?
sql 2000如何保存长度很大的字符串?rn这个字符串里带有空格、换行等符号,谢谢。rnrn我用varchar只有8000rn
文本固定长度如:电话号码处理。
如果文本想取一个固定长度,比如电话号码,多于11位不能添加调用下面的方法:     addTextChangedListener(new TextWatcher()){     public void onTextChanged(CharSequence s, int start, int before,int count) {}             @Override
在MYSQL中如何保存汉字。。。
今天按照下的教程尝试了数据保存,开始的测试时候我录入的都是数字什么的都没什么问题。。rnrn后来我录入汉字了,就无法保存到数据库了,我在网上查了下也没有找到解决方法。。rn我把我2个页面rn提交页面rnrnrnrnrn rn 无标题文档rnrnrn rnrnrnrnrnrnrnrn保存页面rnrnrnrnrn rnrn 无标题文档rnrnrnrn".$sql;rnrnrn//执行数据库操作,将数据写入rnrn$query=mysql_db_query("db_Message",$sql,$connect) or die(" !!!!");rnrnecho " 保存数据成功!";rnrn?>rnrnrnrn
统计多个文本长度
计算某个文件夹下各个文件列表得长度,并分类统计
国际电话号码的区号mysql数据表
项目用到了国际电话区号用来发送短信,做了一份国际电话区号的数据表,涵盖了大部分国家,没有的可自己添加,中英文都有,方便多语言网站使用,有兴趣的可以用一下
各位,如何校验座机电话号码和手机电话号码
比如,下面的都合法:rn021-11111111rn02111111111rn86-021-11111111rn86021-11111111rn号码最后面的部分6-8位,可以带上国际区号rnrn还有手机号吗,前面可以带上0
如何增加多个表的同一字段的长度
有多个表中有一字段为PartNo或fmid,fpid,为varchar(20),因业务需要,现要将其长度改为varchar(100),请教高手如何实现?rn例:rn 表 fact_goods 含fpidrn 表 fact_raw 含fmidrn 表 fact_pmrelate 含fpid,fmid,此表参照fact_goods 中fpid,fact_raw 中fmid,请问如何才能一次性将其长度增加至varchar(100),谢谢!rnrn
mysql如何操作多个数据库
    这个和sqlserver一样,只要在表明前加上数据库名字就行了。   比如mysql存在2个库分别叫CSV_DB,adms_db   现在想将CSV_DB的数据插入到adms_db中   只需这样操作即可:   insert into adms_db.t_ad select * from CSV_DB.TBL_NAME即可。   refurl:http://zh...
mysql如何合并多个表
遇到个新问题?大家看下rnrn以前是多个表.分开的.现在想合并为一个表,两个表会合并.但多个表就没办法解决了.rntab1rntab2rntab3rntab4rnrntab1rnid namern1 tt1rn2 tt2rn3 tt3rn4 tt4rnrntab2rnid namern1 ss1rn3 ss3rn5 ss5rn8 ss8rnrntab3rnid namern6 ii6rn7 ii7rn9 ii9rnrntab4rnid namern1 ww1rn8 ww8rn10 ww10rnrn想合并为一个表.结果为:rnrnid name1 name2 name3 name4rn1 tt1 ss1 ww1rn2 tt2rn3 tt3 ss3rn4 tt4rn5 ss5rn6 ii6rn7 ii7rn8 ss8 ww8rn9 ii9rn10 ww10rn
MYSQL如何添加多个外键?
create table Employeern(rn ssn INTEGER not null unique,rn Name varchar(30) not null,rn Address varchar(30) not null,rn Age INTEGER not null,rn Sex varchar(10) not null,rn Position varchar(20) not null,rn primary key(ssn)rn)ENGINE=InnoDB;rnrnrncreate table Departmentrn( rn DId INTEGER not null unique,rn Dname varchar(15) not null,rn ManagerId INTEGER not null unique,rn primary key(DId)rn);rncreate table Works_Inrn( rn ssn INTEGER not null unique,rn DId INTEGER not null unique,rn since varchar(15) not null,rn primary key(ssn,DId),rn FOREIGN KEY(ssn,DId) REFERENCES Employee(ssn) ON DELETE CASCADE ON UPDATE CASCADErn FOREIGN KEY(DId) REFERENCES Department(DId) ON DELETE CASCADE ON UPDATE CASCADE为什么 rn)ENGINE=InnoDB;rn在Works_In中给Employee和Department加两个外键rn这样为什么不行?rnERROR 1005 (HY000) at line 62: Can't create table './HumanResources/Works_In.frm' (errno: 150)rn应该怎么样写?
mysql如何使用多个文件系统
如题;rn如果存储数据较多,单一文件系统过大,如何使用其他文件系统,我知道create table的时候可以指定data directory参数,但是这样每次建表的时候都需要单独指定,有类似oracle表空间的概念吗,在上一级指定文件系统??
如何获得本机的电话号码
请问如何编程获得本机的电话号码。rn是否应该读SIM卡?
如何区分电话号码?
如何区分本地、长途、手机等电话号码?
如何读出本机的电话号码?
如何读出本机的电话号码?rn谢谢。
如何接收电话号码?
我想做一个程序,当电话响时,用电话上网的电脑能得到来电的号码,rn请问,这个程序如何跟电话沟通信息?rn请高手指教,
EXCEL如何筛选电话号码?
EXCEL表中有一列电话号码如下:rn5301623rn5412638rn5544893rn5301686rn5300080rn5371654rn5302100rn如何将此列中以530开头的电话号码筛选出来?(我使用筛选-自动筛选-始于以及包含的条件都无法得到结果)
如何获取联系人的电话号码?
代码如下:rnrn String[] columns = ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.HAS_PHONE_NUMBER;rn Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, columns, null, null, null);rn int ColumeIndex_ID = cursor.getColumnIndex(ContactsContract.Contacts._ID);rn int ColumeIndex_DISPLAY_NAME = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);rn int ColumeIndex_HAS_PHONE_NUMBER = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER);rn while(cursor.moveToNext()) rn rn String id = cursor.getString(ColumeIndex_ID);rn String name = cursor.getString(ColumeIndex_DISPLAY_NAME);rn String has_phone = cursor.getString(ColumeIndex_HAS_PHONE_NUMBER);rn if(!has_phone.endsWith("0")) rn rn System.out.println(name);rn GetPhoneNumber(id);rn rn rn cursor.close();rn public String GetPhoneNumber(String id) rn rn String number = "";rn Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone._ID + " = " + id, null, null);rn if(phones.getCount() > 0) rn rn while(phones.moveToNext()) rn rn number = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));rn rn System.out.println(number);rn rn phones.close();rn return number;rn rnrn我能获取联系人的姓名,但是不能在GetPhoneNumber()中获取电话号码。rnphones.getCount() 总是等于0,如何修改?rn
c#如何获取电话号码
在VS 2005里面,设备是PPC 2003
如何判断电话号码和身份证
谢谢
如何获取拨号上网的电话号码?
在拨号上网时,通过编程如何获得本地拨号上网时使用的本地电话号码?
如何区分手机号码和电话号码
手机号码有时会和电话号码一样的位数,11位或者12位,所以不能通过位数来区别,有其他的方法吗?主要是对电话号码的位数不太清楚
editText多个电话号码每隔11位添加空格
editText多个电话号码每隔11位添加空格,代码很简单,如下package
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法