1

我对mysql中的主键和唯一约束有疑问。我正在为网站的成员凭据创建一个表。有电子邮件地址、用户名、出生日期等属性。

我相信大多数网站最多允许一个电子邮件地址与一个用户帐户相关联(不确定这是否属实)。所以我将电子邮件设置为我的主键。但用户名也必须是唯一的,不能为空。我不确定如何表示这一点。我应该对用户名创建一个唯一约束并明确声明它不为空吗?我不相信触发器适合这个。有更好的解决方案吗?谢谢。

4

1 回答 1

1

尝试这样的事情,

CREATE TABLE tableName
(
    userName VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    -- other columns here .....
    CONSTRAINT tb_PK PRIMARY KEY (userName),
    CONSTRAINT tb_uq UNIQUE (email)
)
于 2012-11-18T21:12:30.137 回答