Mysql自增类型serial

  最近看前辈们的代码,发现了一个没有接触过的类型:serial。

  下面是关于serial的官方介绍:

SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.
SERIAL DEFAULT VALUE in the definition of an integer column is an alias for NOT NULL AUTO_INCREMENT UNIQUE.

  下面以我初过四级的水平解释一下:

SERIAL 是一个拥有非空、自增、唯一性等约束的长整型无符号数的别名。
整型数列SERIAL 的默认值是非空、自增、唯一等约束的别名

  也就是类型为serial的值即拥有非空、自增、唯一性等约束!


  当然,也有别的自增方法,例如使用关键字auto_increment

create table t_user(
    id int(10) primary key auto_increment,
    name varchar(32) not null
);

  在使用自增类型之后,测试时往往会遇到一些问题。编写测试类插入数据时,数据就会自增,等到项目上线时,数据库的自增已经进行了一部分了。

  即使你将所有数据全部删除。下次插入仍然会接着之前的数据累加,如下图:
在这里插入图片描述
  如上图,即使我提前设置sum为0,再插入数据也不是以0为起点。

– 清除所有的记录,并且索引号从0开始
TRUNCATE TABLE questions RESTART IDENTITY CASCADE;

  执行上面的语句,再进行插入,自增序列即从0开始。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值