我需要创建一个数据库表,其中主要包含以下三个字段:
所以,我想将Email设置为唯一,而不是null(主键),但我也想确保User_id保持唯一(可以通过设置唯一键来解决),我也希望它永远不会是设为null。那么,我怎么能做到这一点?我正在使用MySQL BTW。
PS:我对当前时间的架构构建并不是很好。所以,忽略任何愚蠢的错误。
答案 0 :(得分:1)
我会选择这样的东西
CREATE TABLE USERS
(
ID INT PRIMARY KEY AUTO_INCREMENT,
User_Id INT AUTO_INCREMENT = 1000,
Email VARCHAR(250) NOT NULL
)
然后
ALTER TABLE USERS ADD UNIQUE (Email)
或者,如果您打算在电子邮件字段中搜索
CREATE UNIQUE INDEX inx_users_email ON USERS (Email)
您最好使用Id字段作为主键。 PK无意改变,用于识别记录。如果您的用户更改了电子邮件地址会怎样?
答案 1 :(得分:0)
Auto_INCREMENT确保列具有唯一值,并且永远不能为空。