primary key是主键 一般为自动增长并且是非空 int类型的,主要用来保证数据的唯一性 ;
Key是索引约束,对表中字段进行约束索引的,都是通过primary foreign unique等创建的。
常见有foreign key,外键关联用的;
MYSQL建立数据表时,KEY的设置有什么用?
key是指关键字,在每一个表所有记录中唯一,普通的表一般可以省去这一项。 另外,设置了关键字,在查询表的时候会加速查询,但是会增加其他负担
CREATE TABLE `livechat` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nickname` varchar(20) DEFAULT NULL,
`book_id` int(11) DEFAULT '0',
`reply_id` int(11) DEFAULT '0',
`replysite` varchar(10) DEFAULT NULL,
`bfrom` varchar(10) DEFAULT 'rayli',
`content` text,
`objname` varchar(20) DEFAULT NULL,
`sync` int(11) DEFAULT '0',
`clientip` varchar(24) DEFAULT NULL,
`recorddate` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_id` (`id`),
KEY `idx_lc_nickname` (`nickname`),
KEY `idx_lc_recorddate` (`recorddate`),
KEY `idx_lc_bid` (`book_id`),
KEY `idx_lc_reid` (`reply_id`),
KEY `idx_lc_bfrom` (`bfrom`),
KEY `idx_lc_objname` (`objname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;