Php 如何避免重复条目

Php 如何避免重复条目,php,sql,Php,Sql,我在我的网站上创建了一个表单,用户可以在其中创建帐户。我把所有东西都保存到一个连接到网站的数据库中。 以下是我创建表的方式: 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, P

我在我的网站上创建了一个表单,用户可以在其中创建帐户。我把所有东西都保存到一个连接到网站的数据库中。 以下是我创建表的方式:

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)
);
因为用户以后会使用电子邮件和密码登录网站,所以我不希望重复的电子邮件条目。
现在我的问题是,我应该在我的表中使电子邮件列唯一,还是应该检查输入的电子邮件是否已经存在于数据库中(使用PHP)?有什么区别吗

例如,将电子邮件和用户名设置为唯一的

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`)
);

当然,您还必须在应用程序中检查它,但这将阻止它。

这次我比比尔快;-)这取决于数据库是如何设置的。我认为返回值的查询比返回错误的查询要好。您将有一个唯一索引错误。否则你不会。