使用 UNIQUE關(guān)鍵字~?。。。。。。?!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、洪江網(wǎng)站維護(hù)、網(wǎng)站推廣。
For example:
create table table1 (column1 int primary key, 主鍵
column2 int unique 唯一
)
在添加或變更表結(jié)構(gòu)時,把id字段設(shè)置為整型,下面的選項就會出現(xiàn)auto increment的選擇框,勾選中就可以了.
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.主鍵列不允許空值,而唯一性索引列允許空值。
1.UNIQUE 關(guān)鍵字建唯一索引
mysql CREATE TABLE `wb_blog` (
- `id` smallint(8) unsigned NOT NULL,
- `catid` smallint(5) unsigned NOT NULL DEFAULT '0',
- `title` varchar(80) NOT NULL DEFAULT '',
- `content` text NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `catename` (`catid`)
- ) ;
如果建好表了,可以用以下語句建
mysql CREATE UNIQUE INDEX catename ON wb_blog(catid);
2.聯(lián)合索引
ALTER TABLE `tasks`
ADD INDEX `testabc` (`title`, `created`) ;
3聯(lián)合唯一索引(假設(shè)有這個需求,在同一天內(nèi)不能建兩個tiltle一樣的任務(wù))
ALTER TABLE `tasks`
ADD UNIQUE INDEX `testabc` (`title`, `created`) ;
數(shù)據(jù)庫建索引的科學(xué)性事關(guān)數(shù)據(jù)庫性能,索引也不是越多越好。
兩者有類似的功能,值都是必須唯一,但是不是主鍵的字段或者幾個字段可以設(shè)置為唯一索引。
主鍵和唯一索引都要求值唯一,但是它們還是有區(qū)別的:
①.主鍵是一種約束,唯一索引是一種索引;
②.一張表只能有一個主鍵,但可以創(chuàng)建多個唯一索引;
③.主鍵創(chuàng)建后一定包含一個唯一索引,唯一索引并一定是主鍵;
④.主鍵不能為null,唯一索引可以為null;
⑤.主鍵可以做為外鍵,唯一索引不行;
直接查看表結(jié)構(gòu)就可以。方法如下:
1、以第三方軟件Navicat for Mysql為例,登錄指定的數(shù)據(jù)庫。
2、點擊上方圖標(biāo)“查詢”——“新建查詢”。
3、彈出查詢窗口輸入“describe 表名”,這里表名以“test”為例,則寫為“describe test”(不含引號):
describe?test
4、結(jié)果如圖,其中KEY列,如果顯示“PRI”則代表此列為主鍵。