mysql 主键 自增 达到 最大 怎么办

mysql 主键 自增 达到 最大 怎么办,第1张

在数据库那边设置主键为int型,设置主键自增属性即可

create

table

`table_name`(

id

int

auto_increment

primary

key)插入的时候不用插主键,他自己就会增长

-->创建表时指定AUTO_INCREMENT自增值的初始值:

mysql>CREATE TABLE BIN_TBL (ID INT(5) PRIMARY KEY AUTO_INCREMENT)AUTO_INCREMENT=100

-->通过ALTER TABLE 修改初始值(但要大于表中的AUTO_INCREMENT自增值,否则设置无效):

mysql>ATLER TABLE BIN_TBL AUTO_INCREMENT=100

-->如果自增序列的最大值被删除了,则在插入新记录时,该值被重用。

就是说如果表中原本有AUTO_INCREMENT属性值连续为78、100的值,但100这个数据被删除了,下此再添加数据的时候自增值为101,100被重用了。

即使在你将整个表中的所有数据delete清空后,之前的自增序列最大值还是会被重用。解决办法是:

使用ATLER TABLE BIN_TBL AUTO_INCREMENT=0重新设置自增初始值。

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

-->设置AUTO_INCREMENT_INCREMENT以及AUTO_INCREMENT_offset用户变量值:(重启MySQL之后,这些修改会恢复为初始值1)

mysql>SET auto_increment_increment=10 #自增量每次增加的值改为10,

mysql>SET auto_increment_offset=2#第一次加载数值时的偏移值的个位值

mysql>SHOW VARIABLES LIKE 'AUTO_INC%'#查看修改后变量的值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5905368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存