Mysql中的索引()key 、primary key 、unique key 與index區別)


CREATE TABLE pre_forum_post ( 

pid int(10) unsigned NOT NULL COMMENT '帖子id', 

fid mediumint(8) unsigned NOT NULL default '0' COMMENT '論壇id', 

tid mediumint(8) unsigned NOT NULL default '0' COMMENT '主題id', 

`first` tinyint(1) NOT NULL default '0' COMMENT '是否是首貼', 

author varchar(15) NOT NULL default COMMENT '作者姓名', 

authorid mediumint(8) unsigned NOT NULL default '0' COMMENT '作者id', 

`subject` varchar(80) NOT NULL default COMMENT '標題', 

dateline int(10) unsigned NOT NULL default '0' COMMENT '發表時間', 

message mediumtext NOT NULL COMMENT '消息', 

useip varchar(15) NOT NULL default COMMENT '發帖者IP', 

invisible tinyint(1) NOT NULL default '0' COMMENT '是否通過審核', 

anonymous tinyint(1) NOT NULL default '0' COMMENT '是否匿名', 

usesig tinyint(1) NOT NULL default '0' COMMENT '是否啟用簽名', 

htmlon tinyint(1) NOT NULL default '0' COMMENT '是否允許HTML', 

bbcodeoff tinyint(1) NOT NULL default '0' COMMENT '是否關閉BBCODE', 

smileyoff tinyint(1) NOT NULL default '0' COMMENT '是否關閉表情', 

parseurloff tinyint(1) NOT NULL default '0' COMMENT '是否允許粘貼URL', 

attachment tinyint(1) NOT NULL default '0' COMMENT '附件', 

rate smallint(6) NOT NULL default '0' COMMENT '評分分數', 

ratetimes tinyint(3) unsigned NOT NULL default '0' COMMENT '評分次數', 

`status` int(10) NOT NULL default '0' COMMENT '帖子狀態', 

tags varchar(255) NOT NULL default '0' COMMENT '新增字段,用於存放tag', 

`comment` tinyint(1) NOT NULL default '0' COMMENT '是否存在點評', 

replycredit int(10) NOT NULL default '0' COMMENT '回帖獲得積分記錄', 

`position` int(8) unsigned NOT NULL auto_increment COMMENT '帖子位置信息', 

PRIMARY KEY (tid, `position`),//就是這里 

KEY fid (fid), 

KEY authorid (authorid,invisible), 

KEY dateline (dateline), 

KEY invisible (invisible), 

KEY displayorder (tid,invisible,dateline), 

KEY `first` (tid,`first`), 

UNIQUE KEY pid (pid) 

) ENGINE=MyISAM COMMENT='帖子表'; 

unique Key是唯一鍵,而Primary key是主鍵
Primary key 與Unique Key都是唯一性約束。但二者有很大的區別:
1、Primary key的1個或多個列 必須為NOT NULL,如果列為NULL,在增加PRIMARY KEY時,列自動更改為NOT NULL。而UNIQUE KEY 對列沒有此要求。
2、一個表只能有一個PRIMARY KEY,但可以有多個UNIQUE KEY。
 

Key是索引約束,對表中字段進行約束索引的,都是通過primary foreign unique等創建的。常見有foreign key,外鍵關聯用的。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM