mysql复合主键如何设定自增长属性
2017-11-20 17:45
316 查看
这个可以有,需注意把自增长列放在复合主键的第一个位置,也就是最左边。比如:
create table t(a int auto_increment,b int,key (a,b))
这个问题分两种情况讨论。
1、myisam引擎.
复合索引可以包含一个auto_increment,而且这个auto_increment列可以不是第一列。如果auto_increment没在第一列,那么自增长列可以根据前面几列排序后自增长。
2、innodb引擎
复合索引可以包含一个auto_increment,但是auto_increment列必须是第一列。这样插入的话,只需要指定非自增长的列,不然会像2楼的兄弟说的,会出现自增长重复,如果不想要自增长重复,可以给他在做一个主键索引,或者唯一索引。
create table t(a int auto_increment,b int,key (a,b))
这个问题分两种情况讨论。
1、myisam引擎.
复合索引可以包含一个auto_increment,而且这个auto_increment列可以不是第一列。如果auto_increment没在第一列,那么自增长列可以根据前面几列排序后自增长。
2、innodb引擎
复合索引可以包含一个auto_increment,但是auto_increment列必须是第一列。这样插入的话,只需要指定非自增长的列,不然会像2楼的兄弟说的,会出现自增长重复,如果不想要自增长重复,可以给他在做一个主键索引,或者唯一索引。
相关文章推荐
- MySQL如何创建主键,外键和复合主键
- MySQL 学习教程(四)【整理】-列属性(空属性、列描述和默认值/ 主键/ 自动增长/ 唯一键)
- MySQL数据表中有自增长主键时如何插入数据
- 使用mysqlimport导入包含主键自增长属性的表
- Mysql复合主键中自增长字段设置问题
- Mysql复合主键中自增长字段
- MySQL基础教程20-Mysql列属性-主键
- 教你如何修改MySQL 5.5的max_allowed_packet属性
- mysql 主键自动增长
- mysql自增长id如何重置从某个数开始
- ibatis获取主键自动增长ID Oracle/MSSQL/mysql
- mysql 如何修改、添加、删除表主键
- Mysql 多列形成主键(复合主键 )
- Mysql设置自增长主键的初始值
- mysql,sqlserver,oracle主键自动增长设置
- MySql之如何修改属性默认值
- mysql 索引类型及创建索引(普通索引、唯一索引、主键索引、复合索引、全文索引)
- Mysql,SqlServer,Oracle,sqlite 主键自动增长的设置
- mysql 如何实现在一张表里某个字段根据另一个字段自增长
- (8)列属性:是否允许为空、默认属性值、主键、自动增长