摘要: 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