如何在数据库mysql中创建一个唯一的字段

时间:2013-11-21 18:30:31

标签: mysql database

我是db初学者,我正在尝试编写创建数据库的脚本,我想要一个字符字段是唯一的MYSQL中是否有任何关键字可以保证我的字段是唯一的?

3 个答案:

答案 0 :(得分:1)

如下所示

CREATE TABLE Person
(
id int NOT NULL AUTO_INCREMENT,
first_name varchar(255) NOT NULL,
last_name varchar(255),
address varchar(255),
city varchar(255),
email varchar(255) UNIQUE,
PRIMARY KEY(id)
)

email是一个字符字段,它必须是唯一的。

答案 1 :(得分:0)

您正在寻找mYSQL中的UNIQUE KEY约束

这样的事情:

CREATE TABLE t4 (
    col1 INT NOT NULL,
    col2 varchar(10) NOT NULL,
    col3 INT NOT NULL,
    col4 INT NOT NULL,
    UNIQUE KEY (col1, col3),
    UNIQUE KEY (col2, col4)
);

或者像这样:

CREATE TABLE t1 (
    id int NOT NULL UNIQUE,
    name varchar(255) NOT NULL,
    username varchar(255) UNIQUE
)

答案 2 :(得分:0)

当你说“独特”时,你需要更清楚。您是否希望每个条目都包含SQL生成的唯一字符集?如果是这样,您可以在行中插入以下内容:

 MD5(RAND())

您想确保每行包含唯一条目吗?在这种情况下,您需要在创建表时对列使用UNIQUE约束。 http://www.w3schools.com/sql/sql_unique.asp

您是否希望每个条目都包含具有唯一字符的字符串?即:每个角色只出现一次?在这种情况下,我不知道是否可以只使用SQL。