mysql的复合主键创建及删除

SQL 同时被 2 个专栏收录
5 篇文章 0 订阅
6 篇文章 0 订阅

阅读原文请点击: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/

  • 2
    点赞
  • 6
    评论
  • 7
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值