为什么要设置数据库自增

来源:6-2 主键策略

佛系biu

2019-08-24 14:13

为什么主键设置自增了,数据库也要设置,是避免雪花作用吗?

写回答 关注

2回答

  • 老猿
    2019-08-25 19:47:46

           Mysql支持主键自增,主键自增是依赖于数据库的机制,所以数据库中也要进行设置。有些数据库没有自增的主键,例如oracle,如果要实现主键自增依赖于sequence序列。

           雪花算法是MP默认的主键策略,是通过Java程序生成的自增主键,不依赖于数据库。如果想使用数据库的自增,除了在MP中将主键策略设为自增,还要在数据库中进行设置。

    老猿 回复佛系biu

    不客气同学,理解了就好。

    2019-10-14 16:25:31

    共 3 条回复 >

  • 一放奈何
    2019-08-24 16:13:18

    从两个方面解释:

    1. 首先在java中能实现主键自增依赖于jdbc驱动,比如MySQL驱动支持,但是一些其他的数据库就不支持自增.而MySQL驱动支持是因为MySQL提供了设置主键自增功能.

    2. 在java帮你自动生成主键id时,会去查询数据库拿到next Max Id,而这需要数据库的这个主键开启了自增功能,数据库才会去维护这个自增关系

MyBatis-Plus入门

MyBatis-Plus框架入门必学课程!

56140 学习 · 381 问题

查看课程

相似问题