mysql的复合主键创建及删除

5 篇文章 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/

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值