mysql自增ID起始值修改方法

2018-07-11 16:18:54

在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法。
通常的设置自增字段的方法:
创建表格时添加:

复制代码代码如下:


create table table1(id int auto_increment primary key,...)


创建表格后添加:

复制代码代码如下:


alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key.


许多时候希望table中数据的id不要从1开始,像qq, id从10000开始
代码如下:

复制代码代码如下:


alter table users AUTO_INCREMENT=10000;
 


而且该语句也适用于修改现有表的id上, 比如大批量删除数据后,想id从654321退回123456开始

复制代码代码如下:


alter table users AUTO_INCREMENT=123456;
 


但是经过实际测试, 单机的Mysql没有问题, Mysql Cluster下是无效的,可能在主键上的机制,还是有所不同,有时间研究一下


在Rails migration中的写法如下:

复制代码代码如下:


create_table :articles, :options => 'AUTO_INCREMENT = 1001' do |t|   
# xxx todo      
end


设置自增ID从N开始

复制代码代码如下:


CREATE TABLE TABLE_1 ( ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, // ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。 NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;(ID列从100开始自增)


如果想让自增ID从默认值开始只要

复制代码代码如下:


TRUNCATE TABLE table1 
 


即可
  • 2020-06-20 06:31:16

    mac下全局配置adb环境

    不提示“command not found”,而是出现一长串帮助说明,那就证明adb已经配置好了。

  • 2020-06-20 06:31:39

    Android 无线调试手机(WiFi 调试)

    手机需要开启 USB 调试 手机和电脑要在同一个局域网(连接同一个 WiFi) adb connect 连接成功后要拔出 USB 线,不然出现同时连接两个设备的问题 执行命令 ”adb tcpip 6666“ 后可能需要重新开启 USB 调试

  • 2020-08-16 16:09:30

    android WebView 注入js 几种方式

    有时我们开发中需要将js 注入到我们本地,有可能你会说,放在Web不就可以了吗,的确,但是需求就是这样的

  • 2020-11-05 23:20:29

    mac更新node版本

    initializer function 0x0 not in mapped image for /usr/local/bin/node,除了上面的问题 你或许还出现过 no such file or directory 这样的提示,总之更新完以后node直接不能用了。

  • 2020-11-07 16:31:02

    nginx配置X-Frame-Options允许多个域名iframe嵌套

    有时候我们需要允许多个url的来源,但是又不能全部开放,所以应该匹配第三种方法ALLOW-FROM url,那么多个url该如何配置呢,百度了所有网站都没有找到,那么这里写给大家,其实很简单: add_header X-Frame-Options 'ALLOW-FROM https://xxx.xxxxxx.com https://xxx2.xxxxxxx.com'; 就是使用空格隔开就好了!

  • 2020-11-08 08:31:51

    meteor在不同端口启动服务

    当没有任何参数时,run是默认行为,在幕后,它3000端口开启node.js服务器实例,同时开启监听3001端口的MongoDB服务