1.UNIQUE 關(guān)鍵字建唯一索引\x0d\x0amysql CREATE TABLE `wb_blog` ( \x0d\x0a - `id` smallint(8) unsigned NOT NULL, \x0d\x0a - `catid` smallint(5) unsigned NOT NULL DEFAULT '0', \x0d\x0a - `title` varchar(80) NOT NULL DEFAULT '', \x0d\x0a - `content` text NOT NULL, \x0d\x0a - PRIMARY KEY (`id`), \x0d\x0a - UNIQUE KEY `catename` (`catid`) \x0d\x0a - ) ; \x0d\x0a如果建好表了,可以用以下語句建\x0d\x0a mysql CREATE UNIQUE INDEX catename ON wb_blog(catid); \x0d\x0a\x0d\x0a2.聯(lián)合索引\x0d\x0aALTER TABLE `tasks`\x0d\x0aADD INDEX `testabc` (`title`, `created`) ;\x0d\x0a\x0d\x0a3聯(lián)合唯一索引(假設(shè)有這個需求,在同一天內(nèi)不能建兩個tiltle一樣的任務(wù))\x0d\x0aALTER TABLE `tasks`\x0d\x0aADD UNIQUE INDEX `testabc` (`title`, `created`) ;\x0d\x0a\x0d\x0a數(shù)據(jù)庫建索引的科學(xué)性事關(guān)數(shù)據(jù)庫性能,索引也不是越多越好。
創(chuàng)新互聯(lián)2013年至今,先為政和等服務(wù)建站,政和等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為政和企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
你用那個圖形界面的軟件,來加就可以了,應(yīng)該在索引那一欄里面,自己寫語句修改表,弄不好會出錯的,還麻煩。
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){
//凍結(jié)此賬戶,記錄錯誤日志
}else{
//告知用戶賬號不存在或者密碼錯誤
}
插入用戶之前事先查詢一下這個用戶是否存在,可以用ajax做驗證賬號是否重復(fù)的效果,很多網(wǎng)站都是這么干的
Mysql設(shè)置某字段唯一
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`);
mysql主鍵索引和唯一索引
1.主鍵一定是唯一性索引,唯一性索引并不一定就是主鍵;
2.一個表中可以有多個唯一性索引,但只能有一個主鍵;
3.主鍵列不允許空值,而唯一性索引列允許空值。
采納噢