我们可以将电子邮件作为mysql中的唯一密钥吗?

时间:2019-07-05 04:52:04

标签: mysql sql database

我们可以将电子邮件作为数据库中的唯一密钥,以使同一用户无法一次又一次注册吗?

这是我的代码

$sql = "CREATE TABLE IF NOT EXISTS $table (
id mediumint(9) NOT NULL AUTO_INCREMENT,
ymi text NOT NULL,
country text NOT NULL,
Matrix text NOT NULL,
name text NOT NULL,
email text NOT NULL,
number text NOT NULL,
 Dob text NOT NULL,
 fileToUpload text NOT NULL,
UNIQUE (`id`)
)

2 个答案:

答案 0 :(得分:1)

是的,您可以将电子邮件创建为唯一密钥。并且自动增量ID必须是主键。

CREATE TABLE table_name (
    id int primary key autoincrement,
    name varchar(255) NULL,
    email varchar(190) UNIQUE)

可以以相同的方式添加其他列。

答案 1 :(得分:1)

是的,您可以将电子邮件创建为唯一密钥

CREATE TABLE table_name(
...
   UNIQUE KEY(index_column_,index_column_2,...) 
);


$sql = "CREATE TABLE IF NOT EXISTS $table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ymi text NOT NULL,
    country text NOT NULL,
    Matrix text NOT NULL,
    name text NOT NULL,
    email varchar(190) NOT NULL,
    number text NOT NULL,
    Dob text NOT NULL,
    fileToUpload text NOT NULL,
    UNIQUE KEY unique_email (email)
)