關於數據庫字段不是主鍵可是也不能重複的問題解決辦法?

關於數據庫字段不是主鍵可是也不能重複的問題解決辦法:數據庫

1.建立表時設置:spa

SQL code:
 
CREATE TABLE `user` (
      `Id` int(11) NOT NULL AUTO_INCREMENT,  -- 自增
      `namevarchar(50) NOT NULL unique,  -- 惟一性約束          (若是是單個字段不可重複,能夠用惟一主鍵)
      `phone` varchar(18) NOT NULL,  
      `mail` varchar(18) NOT NULL,  
       UNIQUE KEY (`phone`,`mail`), -- 聯合惟一性約束         (若是是兩個字段都不可重複,能夠用聯合惟一主鍵)
       PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
ALTER TABLE `user` ADD UNIQUE KEY(`name`);  -- 惟一約束
ALTER TABLE `user` ADD UNIQUE KEY(`phone`,`mail`); -- 聯合惟一約束


2.建立表以後設置:code

SQL code:
 
ALTER TABLE `user` ADD UNIQUE KEY(`name`);  -- 惟一約束
ALTER TABLE `user` ADD UNIQUE KEY(`phone`,`mail`); -- 聯合惟一約束

 

(個人問題是這麼解決的,不必定是合理的,若是有高手請指點謝謝!)數據

相關文章
相關標籤/搜索