Mysql 如何指定电话号码?
在mysql 5.1中创建表时,我将电话号码指定为整数时出错 错误为“超出范围值” 我知道我可以将数字指定为varchar。 我只是想知道他们还有别的方法吗Mysql 如何指定电话号码?,mysql,Mysql,在mysql 5.1中创建表时,我将电话号码指定为整数时出错 错误为“超出范围值” 我知道我可以将数字指定为varchar。 我只是想知道他们还有别的方法吗 create table emp( ename varchar(20), ecity varchar(10), salary double, enumber integer, eaddress varchar(40), depttname varchar(25) ); 插入: insert
create table emp(
ename varchar(20),
ecity varchar(10),
salary double,
enumber integer,
eaddress varchar(40),
depttname varchar(25)
);
插入:
insert into emp
values('priya','delhi',40000,9958465876,'b-64 janak puri new delhi','manager');
错误1264(22003):第1行“enum”列的值超出范围
只需将enumber的数据类型更改为BigInt就可以了只需将enumber的数据类型更改为BigInt就可以了mysql中的整数的最大值为2147483647,如果使用无符号整数,则为4294967295。这意味着默认情况下大多数值将超出范围。可以使用BIGINT,有符号范围为9223372036854775807,无符号范围为18446744073709551615。我认为,即使考虑到国际拨号,这也足够了。mysql中的整数的最大值为2147483647,如果使用无符号整数,则为4294967295。这意味着默认情况下大多数值将超出范围。可以使用BIGINT,有符号范围为9223372036854775807,无符号范围为18446744073709551615。这就足够了,即使考虑到国际拨号,我想。您可以尝试使用
varchar
存储电话号码。但是如果有任何具体的原因,那么您可以使用BIGINT
,因为您目前面临的问题是int的范围,最大值为4294967295
,您可以尝试使用varchar
来存储电话号码。但是,如果有任何特定的原因,那么您可以使用BIGINT
,因为目前您面临int范围的问题,最大值为4294967295
,电话号码是不将号码存储为字符串规则的少数例外之一。这是因为:
- 通常,数值表示比字段中存储的数值大
- 有些电话号码的前导零不应去掉,例如:
0014255550177
- 您可能希望/需要使用电话号码存储非数字字符,如
+
例如:
780-555-1234
,780-555-1234
,780.555.1234
都应该删除多余的字符,并存储为780555234
,电话号码是不将数字存储为字符串规则的少数例外之一。这是因为:
- 通常,数值表示比字段中存储的数值大
- 有些电话号码的前导零不应去掉,例如:
0014255550177
- 您可能希望/需要使用电话号码存储非数字字符,如
+
例如:
780-555-1234
,780-555-1234
,780.555.1234
都应该删除多余的字符并存储为780555234
因为它不用于数学目的,所以它应该是字符串。您喜欢将它存储为整数有什么具体原因吗?因为它不用于数学目的,所以它应该是一个字符串string您喜欢将其存储为整数的具体原因是什么?尽管bigint
有足够的空间来保存这些值,但电话号码并不用于数学目的。我会将它们存储为字符串(char
或varchar
)@Barranka:-我完全同意您的意见,如果没有任何具体要求使用int或BIGINT来存储电话号码。否则,应该使用varcharprefered@RahulTripathi我能想到的唯一可能的考虑是所需的空间(BIGINT
需要8个字节,VARCHAR
需要存储的字符串长度加上1个字节)。如果表很小,那么考虑的问题就很简单了。尽管bigint
有足够的空间来保存这些值,但电话号码并不用于数学目的。我会将它们存储为字符串(char
或varchar
)@Barranka:-我完全同意您的意见,如果没有任何具体要求使用int或BIGINT来存储电话号码。否则,应该使用varcharprefered@RahulTripathi我能想到的唯一可能的考虑是所需的空间(BIGINT
需要8个字节,VARCHAR
需要存储的字符串长度加上1个字节)。如果表格很小,那么这种考虑是微不足道的。