MySQL在创建表时,如何设置动增长列并设初值?

MySQL在创建表时,如何设置动增长列并设初值?

今天在创建数据表发现之前一直忽略的一个问题,就是设置自动增长列的同时怎么设置初值的问题,在网上疯狂检索了很久,找到了以下较为常用的方法。
我们预设一个题目:创建一个用户表,包含字段(用户ID,用户名),同时设置用户ID为自动增长且增长初值为1001?

(1)首条记录插入法(忍住!别笑)

这种方法需要我们先按照正常的情况创建带自动增长列的数据表

	-- 创建一个带自动增长列的数据表
	create table users(
		userid int primary key auto_increment,
		username varchar(20) not null
	);

然后请直接插入第一条记录,并将该条记录的userid设置为1000,插入成功之后直接删掉

	-- 插入第一条记录userid设为1000
	insert into users values(1000,'小明');
	-- 删除插入的记录
	delete from uusers where userid=1000;

根据自动增长列的增长方法,就这么一通骚操作,是不是就实现了题目的要求,说实话确实管用,可就是有点憨,哈哈哈!

(2)多步操作法(最普遍的方法)

首先还是和上一个方法一样先创建好带有自动增长列的表

	-- 创建一个带自动增长列的数据表
	create table users(
		userid int primary key auto_increment,
		username varchar(20) not null
	);

然后使用alter更改auto_increment的初始值

	-- 设置自动增长列的初始值
	alter table users auto_increment=1001;

这样通过先创建再更改的方式可以很方便的设置好自动增长的初值。

(3)直接指定法(最帅的方法)

方法(2)是使用最多的,应该也是最容易被大家接受的,可是我觉得竟然是对表字段的设置,那么就应该是可以直接在创建表的同时可以直接设置的。于是我找到了最简单的方法,直接在创建表时在括号外指定auto_increment的值

-- 创建一个带自动增长列,并且增长列初始值为1001的数据表
	create table users(
		userid int primary key auto_increment,
		username varchar(20) not null
	)auto_increment=1001;

你可能感兴趣的:(MySQL在创建表时,如何设置动增长列并设初值?)