zoukankan      html  css  js  c++  java
  • MySQL自增id用完了

    每日一笑

    母亲领着女儿来到精神病院。
    母亲说:“大夫,这姑娘从一年前开始犯病,嘴里在说:‘我要下金蛋啦。’而且叭哒叭哒扇动手脚,还咯咯咯地学鸡叫!”
    “我明白了。尽管她病成这样,你做母亲的却整整一年没有干涉她!”
    “是呀,我想八成她真会下金蛋,所以耐心观察了一年。”

    今天遇到了一个问题,当mysql中的自增id用完后再插入数据会怎样?

    既然遇到这个问题,就去实践一下吧。

    首先创建一个只包含自增id的数据表

    create table id_test2(id int unsigned auto_increment primary key);

    但是这样并没有足够的数据来使id用完,int类型最大可以达到2的32次方减1,也就是4294967295。

    我们可以通过在创建表时,将初始值设置为4294967295

    create table id_test(id int unsigned auto_increment primary key)  auto_increment = 4294967295;

    然后插入一条数据后,其id就会是4294967295

    INSERT INTO t1 VALUES(NULL)

    然后再插入数据,直接报错了

    4294967295这个大小在大部分场景中已经足够用了,如果服务需要经常的插入和删除的话,还是存在一些风险的。

    如果int的大小不够用,可以使用bigint类型,bigint 带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。

  • 相关阅读:
    实现input输入时智能搜索
    动态磁盘转基本磁盘(简单卷变为主分区)
    删掉一个文件夹相对于另一个文件夹多出的文件
    win10搜索不到蓝牙设备
    anaconda使用
    pycharm tab换为4个空格
    wamp端口冲突
    c++ 字符串
    pta 编程题20 旅游规划
    c++指针二维数组
  • 原文地址:https://www.cnblogs.com/xjl-raynor/p/13857397.html
Copyright © 2011-2022 走看看