• mysql非主键自增长


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

    如下:
    1
    2
    3
    4
    CREATE TABLE t1 (
        id INT,
        col1 INT auto_increment NOT NULL
    );
    结果如下:
    mysql非主键自增长 - 怀素真 - 因上努力 果上随缘
     
     如果把col1列设为键,就可以创建自增。
    1
    2
    3
    4
    5
    CREATE TABLE t1 (
        id INT,
        col1 INT auto_increment NOT NULL,
        key(col1)
    );
    结果如下:
    mysql非主键自增长 - 怀素真 - 因上努力 果上随缘
     
     如果我们把id设为主键,仍然可以创建成功。
    1
    2
    3
    4
    5
    CREATE TABLE t2 (
        id INT PRIMARY KEY,
        col1 INT auto_increment NOT NULL,
        key(col1)
    );
    结果如下:
    mysql非主键自增长 - 怀素真 - 因上努力 果上随缘
     
    所以自增列必须是键,但不一定非是主键。但一张表能否有多个自增列?
    答:一张表只能有一个自增列
     
    1
    2
    3
    4
    5
    CREATE TABLE t3 (
        id INT PRIMARY KEY auto_increment,
        col1 INT auto_increment NOT NULL,
        key(col1)
    );
    结果如下:
    mysql非主键自增长 - 怀素真 - 因上努力 果上随缘
     
     
     

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

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

  • 相关阅读:
    consul服务注册于发现
    zookeeper注册服务中心
    Eureka自我保护机制
    发现服务
    修改主机名
    Eureka集群原理与搭建
    Eureka服务注册中心
    微服务简单规划
    开启多服务一键启动 run DashBoad,重启idea
    手撕代码:判断二进制串除以3的余数
  • 原文地址:https://www.cnblogs.com/tanzq/p/9064456.html
Copyright © 2020-2023  润新知