欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql的联合主键(组合主键)

程序员文章站 2022-06-02 15:49:37
...

阅读原文请点击:http://click.aliyun.com/m/23921/ 
摘要: mysql的联合主键:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。 

mysql的联合主键:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。 

在mysql当中我们经常认为主键只能设置一个,那如果我们想设置两个呢?如下图: 

CREATE TABLE `test` ( 
`id` int(11) NOT NULL AUTO_INCREMENT, 
`date` varchar(25) DEFAULT NULL, 
`sess_id` varchar(255) DEFAULT NULL, 
`keyword` varchar(25) NOT NULL, 
`url_n` varchar(3) DEFAULT NULL, 
`s_n` varchar(3) DEFAULT NULL, 
`select_url` varchar(255) DEFAULT NULL, 
PRIMARY KEY (`id`,`keyword`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8; 


那这样的话我们就创建了这个联合主键id和keyword  。但是需要注意的是引擎必须是Myisam。这个是联合主键的创建,那删除呢? 

删除也是非常简单只要: 

ALTER TABLE test DROP PRIMARY KEY ,ADD PRIMARY KEY (`id`); 
如果你仅仅是删除联合主键会报错: 

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key 

阅读原文请点击:http://click.aliyun.com/m/23921/