mysql的序列问题_mysql序列小结

原标题:mysql序列小结

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

使用AUTO_INCREMENT

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

实例

以下实例创建数据表 hexapod,昆虫表中id无需指定值可实现自动增长。

mysql>CREATE TABLE hexapod

-> (

-> id INT UNSIGNED NOT NULL AUTO_INCREMENT,

-> PRIMARY KEY (id)

-> name VARCHAR (30) NOT NULL,#type of insect

-> date DATE NULL,#date收集

-> origin VARCHAR (30) NOT NULL #在哪里收集

);

查询正常,0行受影响(0.02秒)

mysql> INSERT INTO hexapod(id,name,date,origin) VALUES

-> (NULL,'housefly','2001-09-10','kitchen'),

-> (NULL,'millipede','2001-09-10','车道')

-> (NULL,'蚱蜢','2001-09-10','前院');

查询ok,3行受影响(0.02秒)

记录:3个重复:0个警告:0

mysql> SELECT * FROM hexapod ORDER BY id;

+-----+------------------+--------------------+

| id | 名字 | 日期 | 来源 |

| 1 | 家蝇 | 2001-09-10 | 厨房 |

| 2 | 千足虫 | 2001-09-10 | 车道|

| 3 | 蚱蜢 | 2001-09-10 | 前院|

+-----+------------------+--------------------+

3行(0.00秒)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

设置序列的开始值

一般情况下序列的开始值为1,但如果 你需要指定一个开始值100,那我们可以通过以下语句来实现:

mysql> CREATE TABLE hexapod

-> (

-> 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;

1

2

3

4

5

6

7

8

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

mysql> ALTER TABLE t AUTO_INCREMENT = 100;

> ALTER TABLE t AUTO_INCREMENT = 100;

---------------------

作者:hanh22

原文:https://blog.csdn.net/hanh22/article/details/86499663

版权声明:本文为博主原创文章,转载请附上博文链接!

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值