Mysql序列(Java学习笔记)

MySQL 序列使用

MySQL 序列是一组整数:1, 2, 3, …,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。

本章我们将介绍如何使用MySQL的序列。

使用 AUTO_INCREMENT

MySQL 中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义序列。

CREATE TABLE insect(
	id INT UNSIGNED NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (id),
	name VARCHAR(30) NOT NULL,
	date DATE,
	origin VARCHAR(30) NOT NULL
	);

运行结果

INSERT INTO insect (id,name,date,origin) VALUES
	(NULL,'housefly','2001-09-10','kitchen'),
	(NULL,'millipede','2001-09-10','driveway'),
	(NULL,'grasshopper','2001-09-10','front yard');
SELECT * FROM insect ORDER BY id;

运行结果

重置序列

如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现。 不过该操作要非常小心,如果在删除的同时又有新记录添加,有可能会出现数据混乱。操作如下所示:

 ALTER TABLE insect DROP id;
 ALTER TABLE insect
 ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
 ADD PRIMARY KEY(id);

设置序列的开始值

CREATE TABLE insect(
	id INT UNSIGNED NOT NULL AUTO_INCREMENT,
	PRIMARY KEY(id),
	name VARCHAR(30) NOT NULL,
	date DATE NOT NULL,
	ORIGIN VARCHAR(30) NOT NULL
	)ENGINE=INNODB AUTO_INCREMENT=100 CHARSET=UTF8;
	

或者你也可以在表创建成功后,通过以下语句来实现:

ALTER TABLE t AUTO_INCREMENT =100;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值