什么是我在SQL varchar(length)手机中应该考虑的最长的全球电话号码.
注意事项:
考虑到现在我的特殊情况,我不需要卡等.号码以国家代码开头,以扩展名结尾,没有传真/电话等评论,也不需要电话卡.
sql-server validation database-design data-modeling phone-number
我有一个contacts包含字段,如表postcode,first name,last name,town,country,phone number等等,所有这些都被定义为VARCHAR(255)即使没有这些领域都不会接近有255个字符.(如果你想知道,就是这样,因为Ruby on Rails迁移VARCHAR(255)默认情况下将字符串字段映射到我并且我从不打扰覆盖它).
由于VARCHAR只会领域的实际字符的数目存储(连同字段长度),是否有任何明显的优势(性能或其他方式)使用,比方说,VARCHAR(16)在VARCHAR(255)?
此外,大多数这些字段都有索引.字段上的较大VARCHAR大小是否会影响索引的大小或性能?
仅供我使用MySQL 5.
这是我查询的提取部分,反映了EMAIL_ADDRESS列数据类型和属性:
EMAIL_ADDRESS CHARACTER VARYING(20) NOT NULL,
Run Code Online (Sandbox Code Playgroud)
但是,约翰桑德斯使用VARYING(256).
这表明我没有必要正确理解变化.
据我所知,在我的情况下,电子邮件地址的长度为20个字符,而Jodn为256个字符.
John的代码中的上下文
CREATE TABLE so."User"
(
USER_ID SERIAL NOT NULL,
USER_NAME CHARACTER VARYING(50) NOT NULL,
EMAIL_ADDRESS CHARACTER VARYING(256) NOT NULL, // Here
HASHED_PASSWORD so.HashedPassword NOT NULL,
OPEN_ID CHARACTER VARYING(512),
A_MODERATOR BOOLEAN,
LOGGED_IN BOOLEAN,
HAS_BEEN_SENT_A_MODERATOR_MESSAGE BOOLEAN,
CONSTRAINT User_PK PRIMARY KEY(USER_ID)
);
Run Code Online (Sandbox Code Playgroud)
我从未见过普通人使用的超过20个字符的电子邮件地址.
数据库中电子邮件地址的最佳长度是多少?
我正在寻找将电子邮件地址存储到mysql表中的最正确的字段类型和大小.
我最初考虑varchar 255,但我认为255可能是太多甚至太少,我能够捕获所有有效的电子邮件地址的平均大小是多少?
我有一个MySQL数据库,我想在其他地方存储电话号码.
字段类型是INT(10)
当我尝试插入一个以0开头的数字时,如0504042858,它就像504042858一样存储.这只发生在前导零的电话号码上.当数字以任何其他数字开头时,它会被正确存储.
我究竟做错了什么?
mysql ×3
browser ×1
database ×1
email ×1
fieldtype ×1
http ×1
performance ×1
phone-number ×1
size ×1
sql ×1
sql-server ×1
url ×1
validation ×1