比较郁闷昨天在家使用‘alter table `tablename` AUTO_INCREMENT=10000;’怎么也不起效,但是今天下班时间公司一同事尝试了一下就可以了。搞不明白自己当时是怎么操作的,导致最终不起效。

实现目标:mysql下将自增主键的值,从10000开始,即实现自增主键的种子为10000。

方案1)使用alter table `tablename` AUTO_INCREMENT=10000

创建自增主键之后,使用alter table `tablename` AUTO_INCREMENT=10000实现修改表起始值。

  1. drop table if exists `trace_test`;
  2.  
  3. CREATE TABLE `trace_test` (
  4. `id` int(11) NOT NULL AUTO_INCREMENT,
  5. `name` varchar(255) DEFAULT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
  8.  
  9. alter table `trace_test` AUTO_INCREMENT=10000;
  10.  
  11. insert into `trace_test`(`name`)values('name2');
  12. select * from `trace_test`;

Result:

  1. id name
  2. 10000 name2

方案2)创建表时设置AUTO_INCREMENT 10000参数

  1. drop table if exists `trace_test`;
  2.  
  3. CREATE TABLE `trace_test` (
  4. `id` int(11) NOT NULL AUTO_INCREMENT,
  5. `name` varchar(255) DEFAULT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT 10000 DEFAULT CHARSET=utf8 ;
  8.  
  9. insert into `trace_test`(`name`)values('name2');
  10. select * from `trace_test`;

Result:

  1. id name
  2. 10000 name2

3)如果表已有数据,truncate 之后设置auto_increment=10000,可行。

  1. drop table if exists `trace_test`;
  2.  
  3. CREATE TABLE `trace_test` (
  4. `id` int(11) NOT NULL AUTO_INCREMENT,
  5. `name` varchar(255) DEFAULT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
  8.  
  9. insert into `trace_test`(`name`)values('name1');
  10. select * from `trace_test`;
  11.  
  12. truncate table `trace_test`;
  13. alter table `trace_test` AUTO_INCREMENT=10000;
  14.  
  15. insert into `trace_test`(`name`)values('name2');
  16. select * from `trace_test`;

Result1:

  1. id name
  2. 10000 name

Result2:

  1. id name
  2. 10000 name2

4)如果表已有数据,delete from之后设置auto_increment=10000,可行。

  1. drop table if exists trace_test;
  2.  
  3. CREATE TABLE trace_test (
  4. id int(20) NOT NULL AUTO_INCREMENT,
  5. name varchar(255) DEFAULT NULL,
  6. PRIMARY KEY (id)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
  8.  
  9. insert into trace_test(name)values('name1');
  10. select * from trace_test;
  11.  
  12. delete from `trace_test`;
  13.  
  14. alter table trace_test AUTO_INCREMENT=10000;
  15.  
  16. insert into trace_test(name)values('name2');
  17. select * from trace_test;

Result1:

  1. id name
  2. 10000 name

Result2:

  1. id name
  2. 10000 name2

Mysql:设置主键自动增长起始值的更多相关文章

  1. mysql设置主键自增长和自增长初始值

          本文主要向大家介绍MySQL数据库之Mysql创建表实现主键自增并且初始值为200,希望对大家学习MySQL数据库有所帮助.       假设已经创建表test,并且主键为id.Mysql ...

  2. SQLite设置主键自动增长及插入语法

    SQLite中,一个自增长字段定义为INTEGER PRIMARY KEY AUTOINCREMENT,那么在插入一个新数据时,只需要将这个字段的值指定为NULL,即可由引擎自动设定其值,引擎会设定为 ...

  3. PowerDesigner 15设置mysql主键自动增长及基数

    PowerDesigner 15设置mysql主键自动增长及基数 1.双击标示图,打开table properties->columns,  如图点击图标Customize Columns an ...

  4. MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等

    Mysql命令添加外键 前提是有这么几个表  以mall_product 和 mall_category为例 ALTER TABLE mall_product ADD CONSTRAINT fore_ ...

  5. oracle 主键自动增长

    oracle 主键自动增长 2009-12-11 16:07:00|  分类: 数据库资料|字号 订阅     这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...

  6. Oracle 设置主键自增长__Oracle

    转自:https://yq.aliyun.com/ziliao/258074 如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的 ...

  7. 使用pl/sql的文本导入器时如何设置主键自增长

    在使用文本导入器批量导入数据时,如果需要设置主键自增长,可以先创建一个序列: create sequence SEQ_Userinf start with 1 increment by 1nomaxv ...

  8. SQLServer --------- 设置主键自增长

    设置主键自增长的两种方式 1.通过图形化的的操作方法进行设置 新建的时候进行设置 第二种是右击设计对已经建好的表进行设置  设置主键  设置自增长 标识增量标识每次自增加多少 标识种子标识从多少开始自 ...

  9. Oracle 设置主键自增长

    如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的常用功能,我们还是有办法实现的.这里将展示使用触发器来实现主键自增. 1.准备 ...

随机推荐

  1. 19、localStorage.getItem得到的是[object Object] 的解决方案

    实现本地存储,避免刷新页面数据丢失: localStorage.setItem 只能存储字符串, 所以在储存的时候先将对象转换为字符串 localStorage.setItem("local ...

  2. 英特尔加速 Android 应用

    下载地址 https://software.intel.com/zh-cn/android https://github.com/intel/haxm 解压目录 双击.exe,安装即可 检查SDK M ...

  3. day 38

    目录 元类 什么是元类 元类的作用 怎么自定义创建元类 元类 什么是元类 用class关键字定义的类本身是一个对象,负责产生该对象的类称之为元类(元类可以简称为类的类),内置的元类为type 元类的作 ...

  4. Java开发环境配置大全

    Java开发环境配置 零章:JDK安装教程 壹章:Tomcat安装教程 贰章:IntelliJ IDEA安装教程 叁章:MySql安装教程 肆章:Maven安装教程 伍章:MongoDB安装教程 陆章 ...

  5. centos 7 新机器安装部署配置

    首先卸载openjdk,安装jdk 1.查看java版本 [lambert@localhost ~]$ java -version openjdk version "1.8.0_102&qu ...

  6. 没有可用的软件包 build-essential,但是它被其他的软件包引用了【解决方法】

    执行: sudo apt install build-essential 遇到如下问题: 解决方法: sudo apt-get update 此命令需要联网:待更新完毕后再次输入安装命令即可. 若在升 ...

  7. 在visual studio中找到属性管理器

    方法一: 我们可以在新建的项目中通过视图-->其他窗口-->属性管理器来找到. 这样就能找到属性管理器了. 感谢:https://blog.csdn.net/qq_37939434/art ...

  8. Android中使用ps命令查看进程PID

    adb shell "ps | grep com.sina.weibo" 这个命令可以看到微博的应用线程信息. PID:进程号 PPID:父进程号 VSIZE:进程的虚拟内存大小 ...

  9. 运行 npm run lint -- --fix,提示:error Use the global form of 'use strict'

    运行 npm run lint -- --fix,提示:error Use the global form of 'use strict',使用说明网址:https://eslint.org/docs ...

  10. 牛客NOIP暑期七天营-普及组2D

    链接:https://ac.nowcoder.com/acm/contest/926/D来源:牛客网 在一维坐标系中,给定 n条有颜色的线段,第 i条线段的左右端点分别为 li​和 ri​,此外它的颜 ...