码迷,mamicode.com
首页 > 数据库 > 详细

mysql非主键自增长

时间:2018-05-20 21:27:10      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:html   AC   www.   png   incr   color   分享   图片   alt   

mysql并非只有主键才能自增长,而是设为键的列就可以设置自增长。

如下:
1
2
3
4
CREATE TABLE t1 (
    id INT,
    col1 INT auto_increment NOT NULL
);
结果如下:
技术分享图片
 
 如果把col1列设为键,就可以创建自增。
1
2
3
4
5
CREATE TABLE t1 (
    id INT,
    col1 INT auto_increment NOT NULL,
    key(col1)
);
结果如下:
技术分享图片
 
 如果我们把id设为主键,仍然可以创建成功。
1
2
3
4
5
CREATE TABLE t2 (
    id INT PRIMARY KEY,
    col1 INT auto_increment NOT NULL,
    key(col1)
);
结果如下:
技术分享图片
 
所以自增列必须是键,但不一定非是主键。但一张表能否有多个自增列?
答:一张表只能有一个自增列
 
1
2
3
4
5
CREATE TABLE t3 (
    id INT PRIMARY KEY auto_increment,
    col1 INT auto_increment NOT NULL,
    key(col1)
);
结果如下:
技术分享图片
 
 
 

得出的结论为:每张表只能设置一个字段为自增长字段,这个字段可以是主键,也可以不是主键,如果不是主键,则必须设置为一种“键(key)”

 

其实,主键(primary key)也是键(key)的一种,key还包括外键(foreign key)、唯一键(unique key)等,关于key的讨论可以查看帖子http://www.cnblogs.com/tanzq/p/9064511.html

mysql非主键自增长

标签:html   AC   www.   png   incr   color   分享   图片   alt   

原文地址:https://www.cnblogs.com/tanzq/p/9064456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!