Here is an extracted portion of my query, reflecting the EMAIL_ADDRESS
column data type and property:
EMAIL_ADDRESS CHARACTER VARYING(20) NOT NULL,
However, John Saunders uses VARYING(256)
.
This suggests me that I have not necessarily understood the VARYING correctly.
I understand it such that the length of an email address is 20 characters in my case, while 256 for Jodn.
Context in John's code
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)
);
I have never seen email addresses longer than 20 characters, used by ordinary people.
What is the optimal length for an email address in a database?
The maximum length of an email address is 254 characters.
Every email address is composed of two parts. The local part that comes before the '@' sign, and the domain part that follows it. In "[email protected]", the local part is "user", and the domain part is "example.com".
The local part must not exceed 64 characters and the domain part cannot be longer than 255 characters.
The combined length of the local + @ + domain parts of an email address must not exceed 254 characters. As described in RFC3696 Errata ID 1690.