Mysql的联合主键

阅读原文请点击

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

阅读原文请点击

    原文作者:云栖小二
    原文地址: https://zhuanlan.zhihu.com/p/27524084
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞