I created a form on my website where the user can create an account. I save everything into a database connected to a website. This is how I created a table:
x
CREATE TABLE Customer(
CID int(9) not null PRIMARY KEY AUTO_INCREMENT,
Email VARCHAR(100) not null,
CustomerName VARCHAR(42) not null,
Password VARCHAR(42) not null,
Phone VARCHAR(42)
);
Since users would use the email and password to later login to the website, I don’t want duplicated email entries. Now my question is should I make column email unique inside my table or should I check if the inputted email already exists in the database (with PHP)? Is there even any difference?
Advertisement
Answer
Making the email and username as unique for example
CREATE TABLE `Customer` (
`CID` INT(9) NOT NULL AUTO_INCREMENT,
`Email` VARCHAR(100) NOT NULL,
`CustomerName` VARCHAR(42) NOT NULL,
`Password` VARCHAR(42) NOT NULL,
`Phone` VARCHAR(42) NULL DEFAULT NULL,
PRIMARY KEY (`CID`),
UNIQUE INDEX `Email` (`Email`),
UNIQUE INDEX `CustomerName` (`CustomerName`)
);
of course you must also check it in your application, but this will prevent it.