1、首先打開Navicate,連接到數(shù)據(jù)庫,打開表設計頁面。
成都創(chuàng)新互聯(lián)是專業(yè)的四川網(wǎng)站建設公司,四川接單;提供成都網(wǎng)站建設、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行四川網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
2、然后點擊切換到索引,打開索引界面。
3、設置索引名,按下選擇欄,打開欄位頁面這里顯示的是表的字段,選擇要設置唯一索引的字段。
4、然后按下索引類型的下拉按鈕,選擇unique就是唯一索引的意思。
5、最后按下索引方式選擇btree,按下快捷鍵Crtl+S保存就完成唯一索引設置了。
主鍵:是唯一標示當前表里的那一列,用主鍵可以代替表里一條實體的內(nèi)容,
如:你有一個名字,有你的住址,電話號碼,籍貫,學位,政治面貌,等屬性,
但唯一能夠標示你的還是你的身份證號,因為別人有可能有跟你同樣的名字,或者同樣的住址,或者同樣的的學位。。但身份證是唯一的。通過身份證,我完全知道你本人。
索引:就相當于你買了一部字典的目錄,通過目錄,可以找到你需要查找的內(nèi)容。索引不是自動有的,在數(shù)據(jù)庫中,必須根據(jù)表里的字段建立索引。
唯一:也是一種約束,將字段設置唯一約束后,該字段在表里的所有“記錄”將是不同的,比如將學號設置為唯一,第一個學生,學號 00001;那么第二個學生 學號 可以是 00002或者00003 而不能設置為 00001,如果,設置為00001的話,數(shù)據(jù)庫將報:字段違反唯一約束,這樣做的目的是為了每個學生有不同的學號。
你用那個圖形界面的軟件,來加就可以了,應該在索引那一欄里面,自己寫語句修改表,弄不好會出錯的,還麻煩。
1.建表時加上唯一性約束
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(18) NOT NULL unique,
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
2.給已經(jīng)建好的表加上唯一性約束
ALTER TABLE `t_user` ADD unique(`username`);
我機器上沒有數(shù)據(jù)庫,沒驗證這2個sql,不曉得行不行,大概是這樣的吧。
有些人用程序來給數(shù)據(jù)做約束的,比如約束用戶名,
DataSet ds = dao.queryForDataSet(connName,"select * from t_user where username=? and password=?",new Object[]{username,password},0,0,false);
if(ds.size()==1){
//登陸成功
}else if(ds.size()1){
//凍結此賬戶,記錄錯誤日志
}else{
//告知用戶賬號不存在或者密碼錯誤
}
插入用戶之前事先查詢一下這個用戶是否存在,可以用ajax做驗證賬號是否重復的效果,很多網(wǎng)站都是這么干的