防止我的数据库两次收到相同的数据

时间:2016-05-21 20:06:13

标签: php mysql

我一直在使用PHP工作。我发现,如果我使用它来注册十几次,数据库将接受相同的电子邮件。 如何使数据库拒绝我的数据库中已使用的任何数据?

2 个答案:

答案 0 :(得分:1)

您应该首先验证输入表单。在尝试将数据插入数据库之前,请检查有效性 - 我的数据库中是否存在电子邮件地址?如果是,请添加一条消息,说明该信息(您输入的电子邮件地址已被使用)。

此外,您可能希望在电子邮件地址列中使用唯一索引。这可以防止第二次插入相同的数据库行。但是,您需要确保对生成的数据库错误(无法插入行)做出反应。有关示例,请参阅http://www.w3schools.com/sql/sql_unique.asp

答案 1 :(得分:0)

更改您的表格以生成电子邮件字段UNIQUE。然后,数据库将阻止为您插入重复的行。使用此查询更改它:

ALTER TABLE <your_table_name> CHANGE COLUMN email email VARCHAR(255) UNIQUE NOT NULL`

假设该列名为email。如果不是,则需要重命名。